Vim (Русский)
From ArchWiki
i18n |
---|
English |
Italiano |
Русский |
Español |
Vim (VI iMproved, Улучшенный Vi) - текстовый редактор, происходящий от vi. Он печально известен своей сложностью в изучении и недружелюбностью к пользователю. Однако, благодаря своей эффективности, множеству плагинов и гибкости в настройке vim стал одним из наиболее популярных текстовых редакторов для программистов и пользователей *nix (вместе с Emacs). Доступна также графическая версия vim - gvim, которая предоставляет пользователю интерфейс на базе GTK2.
Contents |
Установка
- vim зависит от vi, так что следует сначала установить его. Однако, поскольку последний является частью базового инсталляционного пакета, у большинства пользователей он уже должен быть. (прим. перев.: pacman -S устанавливает пакеты вместе с их зависимостями, так что достаточно команды, приведённой ниже)
pacman -S vim
Настройка
Конфигурационный файл vim находится в домашнем каталоге пользователя (~/) и называется .vimrc. Пример конфигурационного файла находится в /etc/vimrc.
"Sample .vimrc set nocompatible set showmatch set incsearch set ignorecase set smartcase set history=100 set backspace=eol,start,indent set ruler set tabstop=4 set shiftwidth=4 set expandtab set virtualedit=all set background=dark set vb t_vg= set mouse=v set textwidth=79 set formatoptions=tcrq
- Чтобы установить gvim (то же, что и vim, но с gtk2-интерфейсом и смотрит в /etc/gvimrc и в ~/.gvimrc), введите
pacman -S gvim
- Существует также набор скриптов для vim, доступный через pacman
pacman -S vim-scripts
Быстрый старт
Запуск vim
- Чтобы запустить vim и отредактировать файл (новый или существующий), введите:
vim filename
- Чтобы запустить vim и открыть новый файл:
vim
(Можно ввести имя файла позже, при сохранении)
Ввод текста
vim - редактор с множеством режимов. Базовыми режимами являются:
- Режим вставки, в котором всё, что вы напечатаете (за исключением некоторых специальных клавиш) появляется на экране и помещается в ваш файловый буфер
- Командный режим (также известный как "нормальный режим"), в котором нажатия клавиш интерпретируются как команды.
- Так называемый "режим последней строки", из которого можно сохранить файл, открыть ещё один, найти что-либо в тексте и выполнить некоторые другие действия.
После запуска vim вы попадаете в командный режим.
- Переключение между режимами.
1. Из командного в режим вставки - клавишей <i>, из командного - в режим последней строки - клавишей <:>
2. Из режима вставки в командный - клавишей <Esc>
3. Из режима последней строки в командный режим - клавишей <Esc >
Перемещение курсора
Как в командном, так и в режиме вставки курсор перемещается стрелками, а в gvim можно задать положение курсора щелчком мыши. Однако, это не по-вимовски. Наиболее эффективный способ - переключиться в командный режим и использовать команды vim для перемещения курсора. Существует 4 базовых команды:
- j - на одну строку ниже
- k - на одну строку выше
- h - на один символ влево
- l - на один символ вправо
Запомните: эти команды работают только в командном режиме. Сначала будет не совсем удобно, но когда вы привыкнете к ним, вы забудете про стрелки.
Некоторые другие команды:
- 0 (нуль) или ^ - для перемещения к первому символу в строке
- $ - для перемещения к последнему символу в строке
- w - для перемещения к первой букве следующего слова
- e - для перемещения к последнему символу следующего слова
- ( - для перемещения к началу предыдущего предложения
- ) - для перемещения к началу следующего предложения
- { - для перемещения к началу текущего абзаца
- } - для перемещения к началу следующего абзаца
- <PgUp> или <Ctrl>+<F> - для перемещения на одну страницу вверх
- <PgDn> или <Ctrl>+<B> - для перемещения на одну страницу вниз
Удаление текста
Прежде всего, стоит отметить, что клавиша <Delete> работает всегда, а <Backspace> - в режиме вставки. Однако, предполагается, что вы их использовать не будете. Вместо этого предполагается использование команд удаления vim.
1. Перейдите в командный режим
2. Наведите курсор на символ, который хотите удалить.
3. Нажмите <x>, символ исчезнет.
x - лишь одна из многих мощных команд удаления. Подробнее о них можно узнать, задействовав vimtutor (см. ниже).
Вставка текста
1. В командном режиме подведите курсор к нужному месту
2. Нажмите <i> и введите текст. Текст введётся перед выделенным символом
ИЛИ
2. Нажмите <a>. Текст введётся после выделенного символа.
Cut, Copy, Paste
Если вы используете gvim, вы можете выполнять эти операции с помощью меню, как и в любом другом редакторе. Однако, этот способ не рекомендуется. Лучше действовать без мыши:
1. Войдите в командный режим
2. Подведите курсор к строке, которую вы хотите скопировать
3. Нажмите
yy
чтобы скопировать строку, или
dd
чтобы удалить строку и поместить в буфер.
4. Теперь переместите курсор к месту, где хотите вставить скопированный/вырезанный текст.
5. Нажмите
p
чтобы поместить строку из буфера после текущей строки, или
P
чтобы поместить её перед текущей строкой.
Чтобы скопировать несколько строк, поместите их количество перед командой yy, например
6yy
чтобы скопировать 6 строк. Разумеется, это лишь вершина айсберга, vimtutor знает гораздо больше команд.
Cut, Copy, Paste в визуальном режиме
Визуальный режим похож на командный, но команды перемещения расширяют область выделения. Когда вводятся команды, они применяются к этой области. Копирование, вырезание и вставка больших областей текста более эффективны в визуальном режиме.
Нажмите v, чтобы перейти в визуальный режим, затем выделите текст с помощью клавиш перемещения курсора. Также можно выделять текст мышью. (Если в командном режиме начать выделять мышью, vim автоматически перейдёт в визуальный режим)
Чтобы копировать текст, нажмите
y
Чтобы вырезать:
d
Чтобы вставить перед курсором:
p
или
P
чтобы вставить после него.
Отмена действий
После того, как вы научились копировать, удалять и вставлять текст, вам может понадобиться исправить некоторые ошибки.
u
отменит последнее действие. Повторное нажатие отменит следующее успешное действие.
Поиск слова
Предположим, вы хотите найти в тексте слово apple.
1. Перейдите в командный режим.
2. Наберите
/apple<Enter>
чтобы найти вхождения этого слова в текст. После нажатия слеша, он и последующие символы будут отображены внизу экрана. После нажатия <Enter> курсор перейдёт к первому вхождению apple (если таковые есть), и оно будет подсвечено.
3. После того, как нашли первое вхождение apple, можно найти остальные, нажав
n
Замена текста
Прежде всего убедитесь, что вы в командном режиме нажатием клавиши <Esc>.
- Чтобы заменить единственный символ, подведите к нему курсор и нажмите r, затем то, чем вы хотите его заменить.
- Чтобы заменить первое вхождение строки old в текущей строке строкой new
:s/old/new
- Чтобы заменить все вхождения old в текущей строке на new
:s/old/new/g
- Чтобы заменить первое входжение old между строками n1 и n2 на new
:n1,n2s/old/new/
- Чтобы заменить все вхождения old между строками n1 и n2 на new
:n1,n2s/old/new/g
- Чтобы заменить все вхождения old во всём текстовом буфере на new с подтверждением
:%s/old/new/gc
или
:1,$s/old/new/gc
Выход из vim
- Для того, чтобы сохраниться и выйти, в командном режиме наберите
:wq
или
:x
или
ZZ
- Для того, чтобы сохранить работу под именем newnname, наберите:
:wq newname
- Для выхода без сохранения, нажмите
:q
- Форсированный выход
Если :q не работает, возможно, данные не были сохранены. Если хотите их сохранить, используйте :wq, если нет, введите
:q!
Некоторые полезности режима последней строки
Будучи мощным текстовым редактором, vim поддерживает, кроме всего вышеперечисленного, также подсветку синтаксиса (в различных цветовых схемах) и конвертирование файлов из одной кодировки в другую.
- Чтобы включить подсветку синтаксиса, в командном режиме наберите
:syn on
- Чтобы изменить схему подсветки (какие элементы каким цветом подсвечивать), введите
:colorscheme name
где name - имя цветовой схемы
- Чтобы перекодировать файл, введите
:e ++enc=from-enc
Файл будет отображён в кодировке вашего терминала.
Учебник по vim
Чтобы сделать свои первые шаги в vim, введите в командной строке
vimtutor
или
vimtutor ru
vim откроет файл интерактивного учебника.