Vim (Русский)

From ArchWiki

Jump to: navigation, search
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 откроет файл интерактивного учебника.

Ссылки

Personal tools