Você precisa usar <bar>
em vez do símbolo de pipe:
:map <f8> :new<bar>0read !javac %<CR>
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?
Tags command-line vim vimrc