Я вроде как новичок в Vim. Я хотел бы отправить содержимое текущего буфера на стандартный ввод внешней команды (скажем, на почту). Моя последняя цель - установить ярлык для быстрой отправки электронной почты из текущего буфера Vim. Я предполагаю, что это должно быть тривиально, но я не смог найти способ отправить буфер Vim внешней команде. Заранее спасибо.
94
STDIN
для команд оболочки: конвейер к оболочке и получение вывода в информационной строке и Замена выделенного исходного текста выводомОтветы:
Вы можете использовать
:w !cmd
для записи текущего буфера в stdin внешней команды. Откуда:help :w_c
:Связанная команда
:%!cmd
выполняет то же самое, а затем заменяет текущий буфер выводом команды. Поэтому:%!sort
вызовет внешнюю команду сортировки для сортировки текущего буфера на месте.источник
:'<,'>!python -mjson.tool
или:%!python -mjson.tool
:%!gofmt
без последнего%
, так как это приведет к использованию сохраненной версии (которая может отличаться от текущего буфера)u
для отменыВот пример того, как отправить текущий буфер на внешний стандартный ввод из командной строки:
Это полезно для написания сценариев.
Чтобы узнать больше о трюках с командной строкой, проверьте:
источник