шпаргалка по vi

шпаргалка по vi

Честно когда был совсем зеленый выучил 10 команд этого редактора и в консоли пользуюсь только им, рекомендую.

Описание.
Редактор vi - один из первых редакторов, разработанных для операционных систем UNIX. Он и по сей день остается одним из самых мощных редакторов и стандартно поставляется практически с каждой операционной системой типа UNIX. В нем отсутствует меню, и все действия осуществляются с помощью клавиш и клавиатурных комбинаций.

Редактор vi работает в двух режимах - командном и набора текстов. Сразу после запуска vi находится в командном режиме. В этом режиме нажатия клавиш интерпретируются как команды редактору, а не как текст, вводимый в документ.

Чтобы переключиться в режим ввода текста, необходимо нажать одну из клавиш: a, i или o.
Клавиша a означает append (присоединить). В этом режиме вводимый текст вставляется после символа, на котором находится курсор.

Клавиша i означает insert (вставить). В этом режиме вводимый текст вставляется перед символом, на котором находится курсор.

И, наконец, клавиша o означает open (открыть). Это приводит к тому, что после строки, на которой находится курсор, в текст вставляется новая строка. Затем курсор перемещается на новую строку, и редактор переходит в режим insert, разрешая ввод текста на новой строке.

Имеется также несколько других команд для установки режима ввода текста, которые применяются не так часто. Это команда O, которая добавляет пустую строку над текущей строкой; и команда A, которая начинает вставлять текст в конце текущей строки.

Из режима ввода текста в командный режим можно вернуться нажатием клавиши Esc. При переходе в командный режим редактор vi по умолчанию выдает звуковой сигнал.

Перемещение по тексту в редакторе vi.

Перемещаться по тексту в режиме ввода текста можно, как правило, с помощью курсорных клавиш, или клавиш Page Up / Page Down. Однако на терминале это не всегда функционирует. Кроме того, на некоторых терминалах эти клавиши могут отсутствовать. На этот случай имеются другие клавиши, позволяющие перемещаться по документу в командном режиме.

Чтобы воспользоваться этими клавишами перемещения, нажмите клавишу Escape для перехода в командный режим. В этом режиме можно пользоваться клавишами h, j, k и l для перемещения курсора влево, вниз, вверх и вправо. Вот несколько советов, которые помогут запомнить их назначение:

l - крайняя справа и поэтому перемещает курсор вправо.
h - крайняя слева и перемещает курсор влево
j - немного похожа на стрелку, направленную вниз. Соответственно, она перемещает курсор вниз
k - перемещает курсор вверх.

В командном режиме имеется еще несколько клавиш перемещения. В таблице приведены различные клавиши и их функции.

Обратите внимание, что с каждой командой этой таблицы по умолчанию используется число 1. Клавиша j перемещает вниз на 1 строку, клавиша k перемещает его вверх на 1 строку, и так далее. Все эти команды можно модифицировать, вводя перед ними число. Так, следующая команда перемещает вниз не на одну строку, а на пять: 5j

Следующая команда перемещает курсор на 75-ю строку файла, редактируемого в данный момент:75G

А вот команда, которая перемещает курсор на пятую снизу строку экрана:5L

Данный синтаксис справедлив для всех команд из таблицы, за исключением команды ^, которая перемещает курсор к первому символу документа, не являющегося пробелом.

Прочие клавиши перемещения.
Помимо описанных выше клавиш перемещения курсора, имеется еще несколько клавиатурных комбинаций, выполняющих прокрутку текста на экране (см. ниже):

Команды редактирования текста.

В редакторе vi клавиши Backspace и Delete не выполняют тех действий, которых от них можно ожидать. Для удаления текста и тому подобного придется воспользоваться различными клавишами в командном режиме редактора.

Операции над файлами и выход из редактора vi
Это операции загрузки и сохранения файлов в редакторе vi.
:w - записать изменения в файл.
:e - загрузить файл для редактирования.
:q - выход из VI .
:wq - сохранить файл и выйти.
:q! - выйти из редактора без сохранения.

Поиск в тексте и замена текста в редакторе vi.
/
- начало шаблона прямого поиска в командном режиме. Например /ufs <ENTER>.
? - начало шаблона обратного поиска в командном режиме.
dd - удаление строки.
yy - копирование текста во внутренний буфер.
p - вставка текста из буфера.

Копирование, вырезание и вставка текста в редакторе vi:

Текст из буфера можно вставить на любое место документа, перемещая на требуемое место курсор и применяя команду р или Р. Команда р вставляет текст в документ после курсора. Команда Р вставляет текст перед курсором. Текст продолжает оставаться в буфере и после того, как вы вставите его в документ. Поэтому можно снова использовать эти команды для вставки текста в документ в других местах.

Предостережение
Редактор vi хранит в буфере текст только самой последней операции копирования текста в буфер или удаления. Другими словами, если Вы выполнили команду dd, чтобы удалить строку текста, а потом выполнили команду yy, чтобы скопировать строку текста, то в буфере текст, с которым оперировала команда dd, будет замещен текстом операции yy. Это означает, что текст из операции dd будет потерян, т.е. операцию удаления отменить будет невозможно.

vi.png

< Назад к списку новостей