Трубопроводы буфер для внешней команды в Vim
Я вроде как Новичок Vim. Я хотел бы отправить содержимое текущего буфера в stdin внешней команды (скажем, mail). Моя конечная цель-установить ярлык для быстрой отправки электронной почты из текущего буфера Vim. Я предполагаю, что это должно быть тривиальным, но я не мог найти способ отправить буфер Vim во внешнюю команду. Спасибо заранее.
2 ответа:
можно использовать
:w !cmd
для записи текущего буфера в stdin внешней команды. От:help :w_c
::[range] w[rite] [++opt]!{cmd}
выполнить
{cmd}
С[range]
строки в качестве стандартного ввода (обратите внимание на пробел перед'!'
).{cmd}
выполняется как с":!{cmd}"
, либо'!'
заменяется предыдущей командой|:!|
.связанная команда
:%!cmd
который делает то же самое, а затем заменяет текущий буфер выводом команды. Так что:%!sort
вызовет внешнюю команду сортировки для сортировки текущего буфера на месте.