Отображение команды не совпадает с написанием команды в терминале vim

231
mildlyAverage

Я пытаюсь использовать отображение в моем vimrc для выполнения команды. Команда работает, если я непосредственно ввожу ее в терминал vim, но когда я использую ту же команду, она перестает набирать ее после первого пробела. Точная команда:

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

Когда я ввожу команду вручную в vim, это вызывает у меня раздвоение при выводе компилятора, что именно то, что я хочу. Однако, когда я нажимаю F8, он просто печатает :newи больше ничего не печатает. Я думаю, что проблема заключается в использовании пробелов в команде. Я пытался использовать кавычки вокруг него и экранировать символы, но это не помогло. Как я могу изменить мой vimrc, чтобы заставить эту команду работать должным образом?

0

1 ответ на вопрос

1
glenn jackman

Вам нужно использовать <bar>вместо символа трубы:

:map <f8> :new<bar>0read !javac %<CR> 
Круто, благодаря этому работает нормально! mildlyAverage 5 лет назад 0

Похожие вопросы