VIM: Tips and Tricks

аватар: cristobal-junta

В предыдущей записи я начал (и надеюсь продолжить) писать про неожиданные или нетривиальные (по крайней мере для меня на момент изучения) возможности утилиты GNU Make. А здесь будет несколько памяток по использованию редактора VIM.

  • Как обновить/перезагрузить/перечитать файл, открытый в текущем окне? (Это может потребоваться, например, если в результате выполнения cvs commit обновились поля типа $Revision$ и $Id.) Нужно выполнить команду :edit (без аргументов).
  • Как открыть несколько файлов в соседних окнах? Необходимо использовать ключ -O командной строки: $> vim -O hello.c world.c
  • Как отформатировать комментарий (выровнять переносы строк, к примеру) в C/C++ программе? В этом случае поможет команда gq]/. (Вообще, имеет смысл почитать :help gq.)
  • Аналогично, для форматирования обычного текста пригодится команда gq}. Она переформатирует текст от текущего положения курсора до конца параграфа (пустой строки).
  • Не нужно недооценивать визуальный режим (visual mode). Я раньше даже не утруждал себя понять, что это такое, а оказалось, что это великая вещь! Скажем так, она позволяет выделять текст в визуальном режиме. Работает она примерно так: v[motion][action]. Например, мы сначала входим в визуальный режим (v), потом двигаемся, например, до конца строчки ($) и удаляем выделенное (d): v$d. Или вот так: входим в визуальный режим, двигаемся на два слова вперед и копируем выделенное в буфер: v2wy (потом скопированное можно куда-нибудь вставить: p).
  • Наконец, теперь про то, что меня вынудило написать этот пост. Возникла необходимость заменить в коде переменные ix, iy, iz на, соответственно, isx, isy, isz. Легко! :%s/\<i\([xyz]\)/is\1/gc. Ключевым моментом здесь является то, что на часть регулярного выражения, заключенного в скобки \( \) потом можно ссылаться вот так: \1. Подробнее о специальных заменах здесь: :help sub-replace-special.
  • Поиск, не восприимчивый к регистру: /\cpattern, где pattern — это то, что вы ищете.

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can use the <go> tags just like the <a> for nicer urls.
  • Доступны HTML теги: <a> <img> <noindex> <br> <em> <i> <strong> <b> <strike> <s> <u> <sup> <sub> <h1> <h2> <h3> <h4> <h5> <h6> <cite> <blockquote> <abbr> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <div> <span> <hr>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <blockcode>. The supported tag styles are: <foo>, [foo].
  • Вы можете разместить код, используя теги <code>...</code>(общий) или <?php ... ?> (выделенный PHP).

Подробнее о форматировании

CAPTCHA
Введите, пожалуйста, код, который Вы видите на картинке. Показ изображений в браузере должен быть включен.
CAPTCHA на основе изображений
Введите символы, которые показаны на картинке.
Добавьте страницу в закладки. Перейти к верху страницы
RSS-материал