Flickr является ошибкой в URL
string photoUrl = "http://farm{0}.staticflikr.com/{1}/{2}_{3}_n.jpg";
должно быть
string photoUrl = "http://farm{0}.staticflickr.com/{1}/{2}_{3}_n.jpg";
:g/[ ^\t]if\|[ ^\t]fi/print
BIGFATOROPERATOR \|
. Это назвало оператор чередования. В PCRE это просто |
. Этого оставляют в Vim/исключая потому что |
используется в другом месте для общих команд (или что-то - FIXME).
Если Вы хотите удалить все другие строки кроме тех, которые имеют, если, еще или fi можно использовать это
%v/\(if\|else\|fi\)/d
'v' является противоположностью 'g' и удалит любые строки, которые не соответствуют regexp.
Для добавления к тому, какого сказанного strager, символ вертикальной черты '|' оставляют в Vim, я воображаю, потому что Vim предполагает поиск буквенных символов чаще, чем у Вас будет потребность обширного RegExps.
Можно заставить Vim использовать менее вышедший RegExps путем установки 'волшебного' уровня на 'очень' когда в исключая режимом:
Использование "\v" означает, что в шаблоне после всего этого символы ASCII кроме '0 '-'9', ''-'z', ''-'Z' и '_' имеет особое значение. "очень волшебный"
См.: он / волшебство для получения дополнительной информации
Не рекомендуется установить волшебный уровень по умолчанию на 'очень' в vimrc хотя (поскольку справочный файл отмечает).
:h /\|
Если Вы отсутствовали \|, Вы, вероятно, пропустили много других шаблонов "маркеры".