Saturday, August 21, 2010

vim: вариации на тему :w[rite]

В документации vim-а к команде :w[rite] упоминается такой вариант использования:
 :[range]w[rite] [++opt] !{cmd}

Эта команда выполняет {cmd} и передает содержимое файла как стандартный ввод. Когда это может быть полезно ?

  1. Сохранение файла с рутовыми правами. К примеру, вы отредактировали какой-то конфиг, а прав на сохранение не оказалось (с кем не бывало?).  Можно сохранить файл под временным именем, а потом переместить. А можно воспользоваться такой командой (лучше создать для нее mapping):
    :w !sudo tee % > /dev/null


  2. При редактировании скриптов (например, perl), бывает удобно выполнить часть скрипта, отправив ее на вход интерпретатору. Для этого выделяем блок текста с помощью Shift-V и используем команду
    :w !perl


No comments:

Post a Comment