Vim: executa o comando com intervalo silenciosamente

3

De acordo com a documentação do vim, o comando :silent pode ser usado para evitar o < um prompt de href="http://vimdoc.sourceforge.net/htmldoc/message.html#hit-enter"> hit-enter .

O problema é que eu quero silenciar um comando que aceita um intervalo como entrada, e isso não funciona porque o intervalo é passado para :silent em vez de para o comando em si.

Exemplo

Para abrir os URLs no arquivo ou seleção atual, eu uso o seguinte mapeamento em .vimrc :

noremap <leader>u :w !urlview<cr>

onde :w !urlview canaliza o arquivo atual ou a seleção para urlview entrada padrão.

Agora, tentando evitar o prompt hit-enter , adicionei:

noremap <leader>u :silent w !urlview<cr>

que, quando invocado com uma seleção, responde corretamente com:

E481: No range allowed

Alguma pista sobre como contornar esse problema?

    
por mrucci 21.04.2013 / 11:05

1 resposta

8

Você pode modificar o mapeamento para inserir o :silent após a digitação inicial do comando :w , assim como você provavelmente faria ao digitar isso interativamente:

:noremap <leader>u :w<Home>silent <End> !urlview<CR>
    
por 21.04.2013 / 18:02

Tags