Старт Linux.SU RSS Архив Форум Купить Linux.SU (Knoppix.ru)
Какой Линукс выбрать?

ЛУЧШЕЕ ИЗ ЛУЧШЕГО

ДЛЯ НАЧАЛА: ЖИВЫЕ

- Knoppix -
Линукс за пять минут

- Puppy Linux -
Хороший друг

ДЛЯ ДЕЛА: ПРОФИ

- Debian -
Он такой один

- CentOS -
Копейка рубль бережёт!

- Fedora -
По следам Red Hat

- Ubuntu Linux -
Мы одной крови!

- ASP Linux -
Тотально русский

- Mandriva Linux -
Красота и удобства

- openSUSE -
Настоящее немецкое качество

- Slackware -
Линукс из кубиков

ДЛЯ ДЕЛА: РОЛЛЫ

- ArchLinux -
Гениальное - просто!

- PCLinuxOS -
Просто линукс

- Aptosid -
Почувствуй силу!

ДЛЯ ДЕЛА: СОБЕРИ САМ

- Gentoo -
Каждому своё

- LinuxFromScratch -
Линукс с нуля

ДЛЯ ДЕЛА: ЛЁГКИЕ

- MeeGo -
Повелитель нетбуков

- TinyMe -
Размер имеет значение!

- gOS -
Хороша Маша!

- Deli Linux -
Старость в радость!

ЗАЩИТА

- Openwall -
Не стучите, закрыто!

- BackTrack/WHAX -
Вам, хакеры!

МУЛЬТИМЕДИЯ

- 64 Studio -
Скорость не проблема!

- Planet CCRMA -
Работа со звуком

ПРИЛОЖЕНИЯ

- OpenDisc -
Для несвободных

- Свободный офис -
100% свободный офис

ДЛЯ ЗАБАВЫ

- Линукс Геймер -
Boot & Play!

- VegaStrike -
Каждому по планете!

ЭКСПЕРИМЕНТ

- коЛинуксы -
Не выходя из Виндоус

- GoboLinux -
Очевидно и вероятно

- ReactOS -
Освободите Виндоус!

РОДНЯ

- BSD-семейство -
На плечах гигантов

УСТАРЕВШИЕ

- OpenSolaris -
+ Belenix

До звёзд рукой подать

- Блин -
Живой русский Линукс

- MOPS Linux -
Русская борзая

- Freespire -
Огонь, вода и медные трубы

ДЕКАБРЬ
06 13 20 27
07 14 21 28
01 08 15 22 29
02 09 16 23 30
03 10 17 24 31
04 11 18 25
05 12 19 26

АРХИВ
(2003 - 2011)
Вечно молодой FVWM

Debian sid + XFCE

НАШИ ПРОЕКТЫ

ПИНГВИН В КАРМАНЕ
MATRIX GL
ПОЛЕЗНЫЕ СОВЕТЫ

ЗАКЛАДКИ
ЧаВО
КОНТАКТЫ
RSS

Я - хакер!
RR
Knoppix.ru QR code
vim: начальные сведения

  Текстовый редактор vi и его расширенная версия vim уже очень давно являются стандартом в мире Linux. С одной стороны, vim является очень мощным редактором, имеющим огромное количество возможностей, а с другой стороны, vi обычно присутствует в любой системе (даже минимальной, получаемой при загрузке в rescue-режиме с установочного компакт-диска дистрибутива), поэтому в некоторых случаях он может быть единственным имеющимся текстовым редактором (хотя бы для таких случаев, когда поправить какой-нибудь жизненно важный конфиг можно только vi, знать основы работы с ним необходимо всем).

  vi(m) существует в 3 вариантах: vi - небольшой консольный редактор, имеющий немного возможностей; vim - консольный редактор с расширенными возможностями; gvim - графический вариант vim. vim может быть собран без поддержки X Window System (полученный исполняемый файл будет называться vim), либо с ее поддержкой (тогда редактор можно будет вызвать командами vim или gvim, причем команда vim в консоли будет вызывать консольный вариант). Большую часть описываемых ниже действий можно производить и в vi, и в (g)vim.

  Для начала запустим vim командой vim newfile.txt (чтобы создать новый файл). Мы увидим пустое окно редактора с строкой статуса внизу, курсором в 1-й строке и значком ~ в начале всех остальных строк. Нижняя строка в vim обычно показывает текущую позицию в файле, кроме того, в ней вводятся команды vim, начинающиеся с двоеточия (об этом позже). Значки ~ в начале строк означают, что эти строки не принадлежат редактируемому файлу (т.е. конец файла находится над 1-й строчкой с ~). Сразу после запуска vim находится в т.н. основном режиме (normal mode), в котором текст вводить нельзя. В этом режиме можно выполнять команды обработки текста, нажимая различные клавиши с буквами (в этом основное отличие vim от других редакторов). В частности, перемещаться по тексту можно не только стрелками, но и клавишами h-j-k-l. Для эффективной работы в vim надо знать основные комбинации клавиш. Например, dd удаляет текущую строку, а gqap переформатирует текущий абзац. Но об этом ниже, а сейчас нажмем i или Ins и перейдем в режим вставки. Это обычный режим, в котором можно вводить текст. Наберите что-нибудь и нажмите Esc для возврата в основной режим. Теперь нажмите двоеточие. Внизу экрана откроется командная строка vim. Она нужна для ввода таких команд, как открытие, сохранение файлов, изменение настроек, поиск с заменой и т.д. Нажмите клавишу w и Enter. Файл newfile.txt будет записан на диск. Командой

  :w newfile2.txt

  можно сохранить редактируемый файл под другим именем. Команда

  :q

  выходит из vim. Комбинируя w и q, можно выйти с сохранением файла:

  :wq

  Если надо выйти без сохранения изменений, надо ввести команду

  :q!

  Самая полезная команда - помощь. Выполняется так:

  :help ключевое_слово

  Здесь ключевым словом может быть в т.ч. команда (например, :help :help), комбинация клавиш (:help dd) или просто слово-тема (:help syntax)

  Теперь рассмотрим некоторые команды основного режима. Напомню, что вводятся они простыми нажатиями клавиш (без двоеточия).

  Команды перемещения. Как я уже сказал, клавиши h, j, k и l передвигают курсор аналогично стрелкам. Клавиши w и b передвигают курсор на слово вперед и назад соответственно. Клавиши ^ и $ аналогичны Home и End (те, кто знаком с регулярными выражениями, сразу запомнят эти клавиши). Чтобы передвинуться на несколько "шагов" (слов, символов, строк) сразу, надо ввести цифрами количество шагов, а затем нажать клавишу передвижения. Например, 3w передвинет на 3 слова вперед. Большинство команд в vim позволяют выполнить их таким же образом заданное количество раз. Далее, комбинация gg переместит курсор в начало файла, а G (т.е. Shift-g) - в конец. 17gg или 17G переместят на 17-й строку файла. Клавиша % переместит к скобке, парной той, которая находится под курсором (если она есть).
  Команды отмены. Сначала скажу про очень важную icon_wink.gif для любого текстового редактора команду - команду отмены. Клавиша u отменяет последнюю операцию (поддерживается многоуровневая отмена, т.е. последовательные нажатия отменяют все более старые действия), U - все операции в текущей строке. Ctrl-R повторяет последнее отмененное действие (также многоуровнево).
 Команды удаления. Клавиша x (как и Del) удаляет символ под курсором, а X - перед курсором. Комбинация клавиши d и команды перемещения удаляет от курсора до позиции, в которую он переместился бы. Например, d$ удаляет до конца строки (это же делает клавиша D), dgg до начала файла, а d3w (как и 3dw) - следующие 3 слова. Такие команды (комбинация действия и команды перемещения) также часто используются в vim. dd удаляет текущую строку, а d3d - 3 строки, начиная от текущей.
  Команды редактирования. Обычно редактирование осуществляется в режиме вставки или режиме замены. Для переключения в режим вставки из основного, а также между вставкой и заменой служит клавиша Ins. Кроме того, клавишей i также можно переключиться из основного режима в режим вставки, а клавишей R - сразу в режим замены.Иногда полезны следующие команды переключения: a и A передвигают курсор соответственно на символ влево и до конца строки, а затем включают режим вставки. o и O сначала открывают новую строку соответственно ниже и выше курсора. c{перемещение} действует аналогично d{перемещение}, но после удаления переходит в режим вставки. Еще пара интересных команд - r{символ} заменяет символ под курсором на введенный, не выходя из основного режима (полезно, когда надо исправить в файле всего один символ - вообще не надо переключаться между режимами), ~ изменяет регистр символа под курсором.
  Команды работы с буферами обмена. В vim может быть несколько (более 60) буферов обмена (называемых здесь регистрами). Они названы символами a-z, A-Z и 0-9. Все приведенные ниже команды могут начинаться с символа " (кавычка), за которым следует обозначение используемого регистра (о различных регистрах, в т.ч. специальных, можно прочитать в встроенной справке по команде :help registers). Все операции удаления помещают удаляемый текст в регистр. Для копирования вместо d надо использовать клавишу y (одно отличие - Y копирует текущую строку). Для вставки используйте клавишу p (вставляет после курсора) или P (перед курсором).
  Визуальный режим. Одно из важнейших преимуществ vim перед vi. В визуальном режиме перемещение курсора выделяет текст. Перейти в этот режим из основного можно клавишей v (включается посимвольное выделение), V (выделяются целые строки) или Ctrl-V (прямоугольное выделение). Над выделенным текстом можно производить действия, в основном режиме требующие указания "передвижения". Так, работают одиночные клавиши d и y, а также gq (форматирует выделенный текст).

  Я перечислил лишь основные приемы работы vim. В частности, не были упомянуты возможности поиска и замены, ручное и автоматическое форматирование текста и т.д. Но об этом в другой раз. Кстати, кроме этой статьи новичкам в vim поможет программа vimtutor из состава vim.

Вернуться к оглавлению

При частичной или полной перепечатке, переводе, переработке
материалов cайта ссылка на Knoppix.ru обязательна
(c) Knoppix.ru 2003 - 11