Mapeando um comando não é o mesmo que escrever comando no terminal vim

0

Estou tentando usar um mapeamento no meu vimrc para executar um comando. O comando funciona se eu digitá-lo diretamente no terminal vim, mas quando eu uso o mesmo comando ele para de digitá-lo depois do primeiro espaço. O comando exato é:

:map <f8> :new | 0read !javac %<CR>

Quando eu insiro o comando manualmente no vim, isso me dá uma dor dividida com a saída do compilador, que é exatamente o que eu quero. No entanto, quando eu bato no F8, ele digita :new e não digita nada. Eu acho que o problema é usar os espaços no comando. Eu tentei usar citações em torno dele e escapar caracteres, mas aqueles não consertar isso embora. Como posso modificar meu vimrc para que este comando funcione corretamente?

    
por mildlyAverage 14.10.2018 / 05:44

1 resposta

1

Você precisa usar <bar> em vez do símbolo de pipe:

:map <f8> :new<bar>0read !javac %<CR>
    
por 14.10.2018 / 05:59