Vim – свободный режимный текстовый редактор, созданный на основе более старого vi.
Одна из главных особенностей редактора ‒ применение двух основных, вручную переключаемых, режимов ввода: командного (после запуска редактор находится в нем) и текстового (режим непосредственного редактирования текста).
Vim включает обширную справочную систему, доступ к которой можно получить с помощью команды. Темы включают команды, параметры конфигурации, привязки клавиш, плагины и т. д.
Контактная информация:
Официальный сайт
Лицензия:
custom:vim
Синтаксис:
vim [параметры] [файл ..] редактирование указанных файлов
Параметры:
| Параметр | Описание |
|---|---|
| -- | Далее указываются только имена файлов |
| -v | Режим Vi (как "vi") |
| -e | Режим Ex (как "ex") |
| -E | Улучшенный режим Ex |
| -s | Тихий (пакетный) режим (только для "ex") |
| -d | Режим отличий (как "vimdiff") |
| -y | Простой режим (как "evim", безрежимный) |
| -R | Только для чтения (как "view") |
| -Z | Ограниченный режим (как "rvim") |
| -m | Без возможности сохранения изменений (записи файлов) |
| -M | Без возможности внесения изменений в текст |
| -b | Двоичный режим |
| -l | Режим Lisp |
| -C | Режим совместимости с Vi: 'compatible' |
| -N | Режим неполной совместимости с Vi: 'nocompatible' |
| -V[N][файл] | Выводить дополнительные сообщения [уровень N] [записывать в файл] |
| -D | Режим отладки |
| -n | Без своп-файла, используется только память |
| -r | Вывести список своп-файлов и завершить работу |
| -r | (с именем файла) Восстановить аварийно завершённый сеанс |
| -L | То же, что и -r |
| -A | Запуск в Арабском режиме |
| -H | Запуск в режиме "Иврит" |
| -T <терминал> | Назначить указанный тип <терминала> |
| --not-a-term | Не предупреждать при вводе/выводе не в терминал |
| --ttyfail | Выйти при вводе/выводе не в терминал |
| -u <vimrc> | Использовать <vimrc> вместо любых файлов .vimrc |
| --noplugin | Не загружать сценарии модулей |
| -p[N] | Открыть N вкладок (по умолчанию: по одной на каждый файл) |
| -o[N] | Открыть N окон (по умолчанию: по одному на каждый файл) |
| -O[N] | То же, что и -o, но с вертикальным разделением окон |
| + | Начать редактирование в конце файла |
| +<lnum> | Начать редактирование в строке с номером <lnum> |
| --cmd <команда> | Выполнить <команду> перед загрузкой файла vimrc |
| -c <команда> | Выполнить <команду> после загрузки первого файла |
| -S <сеанс> | Прочитать сценарий <сеанса> после загрузки первого файла |
| -s <сценарий> | Прочитать команды Обычного режима из файла <сценария> |
| -w <сценарий> | Добавлять все введённые команды в файл <сценария> |
| -W <сценарий> | Записать все введённые команды в файл <сценария> |
| -x | Редактирование зашифрованных файлов |
| --startuptime <файл> | Записать временную метку о запуске в <файл> |
| -i <viminfo> | Использовать вместо .viminfo файл <viminfo> |
| --clean | Неполная совместимость с Vi, Vim по умолчанию, без модулей, без viminfo |
| -h или --help | Вывести справку (это сообщение) и завершить работу |
| --version | Вывести информацию о версии Vim и завершить работу |
В Vim существуют четыре основных режима работы:
По умолчанию Vim начинает свою работу в основном режиме, который также называют командным. Нажатие клавиш в этом режиме воспринимается как команды (копирования, удаления, перемещения текста и других команд).
Основной режим предназначен для просмотра файлов, ввода команд и перехода из него в другие режимы. Из любого режима в командный режим можно перейти, нажав (в некоторых случаях дважды) клавишу Esc.
При нажатии клавиши : происходит переход в режим командной строки Vim, в которой можно вводить команды. За двоеточием следует сложная команда (например, поиска или замены), которая после ввода передается на исполнение нажатием клавиши Enter.
После выполнения команды редактор возвращается в нормальный режим. К этому режиму также относятся команды поиска дальше по тексту /, поиск назад по тексту (?) и команда-фильтр ! для передачи данных внешнему фильтру.
Другие примеры команд:
Для перехода из командного режима в режим непосредственного редактирования текста можно нажать клавишу i (для начала вставки текста на месте курсора) или клавишу a (для начала вставки текста после курсора).
В этом режиме по умолчанию набранные символы не воспринимаются как команды, а вставляются в существующий текст. Однако даже в этом режиме можно задать особые действия редактора, выполняемые при нажатии определенных клавиш, или их сочетаний.
Для вставки, удаления, изменения и автодополнения текста могут использоваться клавиатурные сочетания вида Ctrl + R.
Визуальный режим предназначен в первую очередь для выделения блоков текста. Для перехода используются следующие сочетания клавиш:
К выделенным фрагментам текста затем можно применить команды нормального режима
(например, удаление выделенного текста или его замена).
Перечисленные ниже команды вводятся в основном режиме. Все они имеют команднострочные аналоги и могут быть легко переопределены.
Для перехода на строку с номером n необходимо воспользоваться командой:
G
Для перехода к началу текста необходимо воспользоваться командой:
1G
Для перехода к концу текста необходимо воспользоваться командой:
$G
Для перехода на n символов в нужную вам сторону можно использовать клавиши со стрелками.
Используются для отметки позиции и быстрого к ней перехода. Метки нижнего регистра действительны в пределах данного файла, метки верхнего регистра действуют во всех открытых файлах. Список всех меток можно получить следующей командой:
Marks
При ведении группы проектов нередко желательно сохранить текущее состояние и настройки редактора, чтобы в дальнейшем продолжить работу с того же места. Для этого предназначены сессии, которые можно создать следующей командой:
:mksession /path/to/Session.vim
Сессии читаются следующей командой:
:so /path/to/Session.vim
Сохранение текущего контекста (например, положение курсора в тексте) выполняется
следующей командой:
:mkview
Для открытия сохраненного состояния используется следующая команда:
:loadview
Установить можно отдельным модулем или пакетом:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Модуль, необходимый для установки:
Внимание! Данный системный модуль может быть уже установлен.
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Пакет, необходимый для установки:
Внимание! Если система загружена в режиме полного сохранения, то внесенные изменения в систему будут сохранены после перезагрузки.
Если режим загрузки другой, то рекомендуется воспользоваться утилитой "Сохранение изменений" до перезагрузки системы.