################## VI ################# Для перемещения курсора нажмите клавиши h,j,k,l так, как показано ниже: ^ Советы: k Клавиша h находится слева и перемещает влево. < h l > Клавиша l находится справа и перемещает вправо. j Клавиша j похожа на стрелку "вниз". v --- на страницу (экран) вниз; --- на страницу (экран) верх; --- на пол страницы (экрана) вниз; --- на пол страницы (экрана) верх; --- на строку вниз, без изменения положения курсора; --- на строку верх, без изменения положения курсора; 0 («ноль») --- в начало текущей строки; ^ --- в начало текущей строки (к первому непробельному символу); $ --- в конец текущей строки; w --- на слово вправо; b --- на слово влево; W --- до пробела вправо; B --- до пробела влево; } --- абзац вниз; { --- абзац вверх; gg --- перейти в начало файла; G --- перейти в конец файла; G --- перейти на конкретную строку ; / --- перейти к ; ? --- то же самое, но искать назад; n --- повторить поиск; N --- повторить поиск назад; [[ --- в начало функции; '' --- к месту выполнения команды [[ ВВОД ТЕКСТА Следующие команды переводят редактор в режим ввода: i --- перейти в режим ввода с текущей позиции a --- перейти в режим ввода после курсора I --- переместиться в начало строки и перейти в режим ввода А --- переместиться в конец строки и перейти в режим ввода o --- перейти в режим ввода с новой строки под курсором O --- перейти в режим ввода с новой строки над курсором s --- заменяет указанное количество символов (удаляет указанное число символов и переходит в режим ввода). В отличии от команды с которая может удалить кусок текста размером не меньше слова (cw), командой s можно удалить любое число символов. Например 4s удалит четыре символа начиная с того который находится под курсором. Эта команда применяется для замены одного или нескольких символов другими символами. S --- удаляет всю текущую строку и переходит в режим ввода. Число перед командой показывает сколько нужно удалить строк начиная с текущей. Например 4S удалит четыре строки включая текущую. R --- перейти в режим ввода с заменой текста (аналог insert). Символы под курсором заменяются на вводимые. Команда применяется когда неизвестно сколько придётся изменить символов на другие (иначе можно было бы использовать команду s с указанием числа заменяемых символов, например, 7s). При удалении вводимых символов возвращаются те которые были до ввода команды. Такой режим сохраняется до конца строки. При вводе новой строки (по нажатию Enter), происходит не переход на другую строку с тем же режимом замены текста, а создание новой строки. r --- заменить один символ. Заменяет символ находящийся под курсором на символ который следует за командой. При этом не происходит выхода из командного режима (не надо нажимать ESC после изменения текста). Например, команда ry - символ под курсором меняется на "y". Числовой показатель указывает сколько символов необходимо заменить на данный. Например, 3ry вставляет три символа "y". УДАЛЕНИЕ И ВСТАВКА Ниже перечислены основные комманды удаления и вставки текста: x --- удалить символ под курсором (<число>x удаляет указанное число символов начиная с того который находится под курсором); X --- удалить символ влево (удалить символ перед курсором); d --- используется совместно с командами перемещения. Удаляет символы с текущего положения курсора до положения после ввода команды перемещения. Примеры: dw --- удаляет символы с текущего до конца слова. включая пробел после слова, чтобы удалить символы до конца слова, но оставить пробел используется команда de, dE --- удаляет символы с текущего до конца слова, включая символы пунктуации, но оставляет пробел после слова, diw --- удаляет слово под курсором, dd --- удалить текущую строку (вырезать); d<число>d или <число>dd --- стирание числа строк начиная с текущей; db --- удаляет символы с текущего до начала слова (удаление в обратном направлении); d0 --- удаление символов с начала строки до текущего положения курсора; d$ или D --- удаление символов с текущего положения курсора до конца строки; с --- команда аналогичная d, но после удаление переходит в режим ввода; сс --- команда удаляет текущую строку и переходит в режим ввода; C --- удаляет текст с текущего положения курсора до конца строки, аналогична команде с$ (где $ - символ конца строки); yy (также Y) --- копирование текущей строки в буфер; y<число>y --- копирование числа строк начиная с текущей в буфер; p --- вставка содержимого буфера под курсором. Поскольку в vim девять ячеек буфера удаления. Можно вставить не только последнее удаление, но и удаления сделанные ранее. Например "4p" вставит под курсор содержимое четвертого удаления начиная с последнего. Также чтобы поменять местами два символа можно использовать комбинацию команд "удалить" -x (удаление в буфер) и "вставить" - p (вставить из буфера). Таким образом, поставив курсор на первую букву из двух которые необходимо поменять местами и нажав комбинацию клавиш xp мы совершим необходимые действия; P --- вставка содержимого буфера перед курсором; J --- слияние текущей строки со следующей. Числовой аргумент перед командой показывает сколько следующих линий необходимо объединить с текущей. Например 2J объединить две следующие строки с текущей, на которой расположен курсор. ОТМЕНА ИЗМЕНЕНИЙ u --- отмена последней команды; U --- отмена всех последних изменений в строке, если строка удалена, то применить эту команду к данной строке будет невозможно. ПОИСК Перейти на строку: /фраза --- поиск фразы во всем документе. n --- следующее найденное (вниз) N - предыдущее (вверх). ВЫХОД Есть еще пара команд, которые вам необходимо знать: :q! --- выйти без сохранения; :wq --- записать файл и выйти; ZZ --- записать файл и выйти (Если файл не изменяли, то записываться он не будет)