Вопрос

How should I enter the following as a single string at the command prompt in vim

:let v:errmsg = ""  
:silent! /\cend of .*project gutenberg  
:if v:errmsg != ""  
:echo "Not found"  
:endif  

This does not work, the message is not printed.

:let v:errmsg = ""|:silent! /\cend of .*project gutenberg|:if v:errmsg != ""|:echo "Not found"|:endif  
Это было полезно?

Решение 2

Range-search may be not the best option in your case. You can use

if !search('\cend of .*project gutenberg') | echo 'Not found' | endif

if you are fine with not updating last search pattern.

Другие советы

Well, the problem is the normal search you are doing. The range search sees the | as part of its arguments and therefore it cannot be used to enter another command. Therefore, wrap it into an :exe call like this:

let v:errmsg = ""|exe 'sil! /\cend of .*project gutenberg'|if v:errmsg != ""|echo "Not found"|endif 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top