10. Справочник по командам vi 10.1 Режимы Vi Vi имеет 3 режима: командный режим - Включается при запуске vi; для перехода в командный режим из других режимов (используйте ESC) режим ввода - активируется специальными командами a i A I o O c C s S R и выключается при помощи ESC или в случае ошибки. линейный режим - т.е. ожидание ввода команд после нажатия : , / , ? или ! (выключается с CR, обрывается с помощью CTRL-c). CTRL это клавиша control: CTRL-c означает "control c" 10.2 Команды Shell TERM= code Помещает имя вашего терминала в переменную TERM export TERM Передаёт значение переменной TERM (код терминала) любой программе в UNIX системе. tput init Инициализирует терминал таким образом, чтобы он функционировал правильно с различными UNIX программами. vi filename Запускает vi и загружает на редактирование указанный файл. vi file1 file2 file3 Записывает в буфер vi три файла для последующего их редактирования. Эти файлы file1, file2, и file3. view file Загружает файл file в режиме только-для-чтения. vi -R file Аналогично преведущей команде. vi -r file Восстанавливает file и последние изменения после краха системы. 10.3 Установка параметров :set опция Активизирует опцию :set опция=значение Назначает значение для опции :set no опция Деактивирует опцию :set Показывает опции установленные пользователем. :set all Показывает все опции, как установленные пользователем, так и опции "по умолчанию". :set опцию? Показывает значение опции 10.4 Используемые обозначения CTRL-c CTRL Это клавиша control: CTRL-c означает "control c" CR символ возврата каретки (клавиша ENTER) 10.5 Обрывание и отмена ESC Обрывает ввод неправильно или неполностью введенной команды CTRL-? CTRL это клавиша control : CTRL-? означает "control ?" удаляет или стирает прерывание. CTRL-l обновляет экран если CTRL-? замусорила его. 10.6 Манипуляции с файлами ZZ Сохраняет файл и выходит из vi :wq Сохраняет файл и выходит из vi :w Записывает файл :w! Записывает файл даже если он защищен от записи :wимя Записывает файл по именем имя :q Выходит из vi :q! Выходит из vi (независимо от того были ли внесены изменения) :e имя Загружает для редактирования файл под именем имя :e! Перезагрузить файл,стирая любые изменения которые были внесены :e + name Загружает для редактирования файл под именем имя, начиная с конца. :e + n Начинает редактирование со строки номер n :e # Редактирует альтернативный файл :n Редактирует следующий файл в списке файлов :args Показывает файлы в текущем списке файлов :rew Обновить текущий список файлов и начать редактировать первый файл. :n args Указать новый список файлов :f Показывает имя текущего файла и номер строки CTRL-G Синоним для :f :ta tag to tag file entry tag CTRL-] :ta, следующее слово - тэг 10.7 Перемещение Arrows Перемещают курсор CTRL-d Скроллирует полстраницы вниз CTRL-u Скроллирует полстраницы вверх CTRL-f Скроллирует целую страницу вниз CTRL-b Скроллирует целую страницу вверх :0 Переходит к началу файла :n Переходит к строке номер n :$ Переходит к концу файла 0 Переходит к началу строки ^ Переходит к первому символу, не пробелу $ Переходит к концу строки CR Переходит к началу следующей строки - Переходит к началу преведущей строки % Находит соответствующую скобку G Переходит к строке (по умолчанию - к последней строке) ]] Следующая секция/функция [[ Преведущая секция/функция 10.8 Позиционирование по строкам H Первая строка экрана L Последняя строка экрана M Средняя строка экрана + Следующая строка, первый символ не являющийся пробелом - Предшествующая строка, первый символ не являющийся пробелом CR возврат, тоже что и + j Следующая строка, таже колонка k Преведущая строка, таже колонка 10.9 Позиционирование по символам 0 Начало строки $ Конец строки h Вперед l Назад SPACE Тоже что и l fx Найти x вперед по тексту Fx Найти x назад по тексту ; Повторить последнюю операцию f F , Инверсно ; | К специфицированной колонке % Найти соответствующий символ { или } 10.10 Слова, предложения параграфы w Слово вперед b Слово назад e Конец слова ) К следующему предложению ( К преведущему предложению } К следующему параграфу { К преведущему параграфу W К концу большого слова, включая пробел на его конце B Назад на большое слово W E К концу большого слова W 10.11 Установка отметок и возврат к ним `` (дважды нажмите клавишу `) К преведущей отметки '' (press twice the single-quote ` key) Последняя отметка, первый не пробел в строке mx Установка отметки с именем x `x (обратная кавычка и x) перейти к отметке x 'x Перейти к отметке x, на первый не пробел в строке 10.12 Коррекция во время ввода текста CTRL-h Удаляет последний символ CTRL-w Удаляет последнее слово erase Нажмите DELETE, тоже что и CTRL-h kill Ваша клавиша kill, стирает ввод сделанный на этой строке \ Экранирует CTRL-h, DELETE и kill ESC Окончить ввод, назад в командный режим CTRL-? Прервать, терминирует ввод CTRL-d Обратная табуляции на autoindent пробелов CTRL-v Экранирует непечатный символ 10.13 Обновления экрана CTRL-l Очистить и перерисовать CTRL-r перенабор, убирает @строки z-CR перерисовать, текущую строку на вершине окна z- перерисовать, текущую строку на краю окна z. перерисовать, текущую строку в центре экрана /pat/z- сгладить край строки tn Использовать экран с строкой n CTRL-e Скроллировать окно вниз на 1 строку CTRL-y Скроллировать окно вверх на 1 строку 10.14 Удаление x Удаляет символ под курсором X Удаляет символ перед курсором D Удаляет до конца строки d^ Удаляет до начала строки dd Удаляет текущую строку ndd Удаляет n строк начиная с текущей dnw Удаляет n слов начиная с положения курсора 10.15 Вставка, замена i Входит в режим вставки (с вставкой перед курсором) I Входит в режим вставки (перед первым не пробелом) a Входит в режим вставки (вставка после курсора) A Входит режим вставки (вставка после конца текущей строки) o Создать новую строку после текущей и перейти в режим вставки O Создает новую строку перед текущей и входит в режим вставки r Заменить символ под курсором не переходя в режим вставки R Войти в режим замены C shift-c. Изменить остаток строки D shift-d. Удалить остаток строки s Заменить символы S Заменить строки J Объединить строки 10.16 Копирование и вставка "Буфер копирования" заполняется КАЖДОЙ командой удаления,или с помощью Y и yy. Y Копирует текущую строку в буфер nyy Копирует n строк начиная с текущей в буфер копирования p Вставляет содержимое буфера копирования после курсора (или перед текущей строкой) P Вставляет содержимое буфера обмена перед курсором (или перед текущей строкой) "xp Вставить из буфера x "xy Скопировать в буфер x "xd Удалить в буфер x 10.17 Операции (для применения к строкам вводятся дважды) d удалить c изменить < сдвинуть влево > сдвинуть вправо ! отфильтровать через команду = отдать для LISP y скопировать текст в буфер 10.18 Поиск и замена /text Искать вперед образец text ?text Искать назад образец text n Повторить последний поиск в том же направлении N Повторить последний поиск в обратном направлении / Повторить последний поиск вперед ? Повторить последний поиск назад [ addr ] s/from/to/ [ g ] Искать from и заменить его на to в текущей строке, или в указанном диапазоне addr (два номера строки разделенные командой; 1,$ весь файл). Заменить одно совпадение на строку либо все совпадения если g указано. Например, :3,20s/someword/anotherword/g. Заменит "someword" на "anotherword" начиная от строки номер 3 до строки 20. 'g' - означает замену всех совпадений. 10.19 Общие :sh Вызывает shell (выход по CTRL-d) :!команда Вызывает shell для исполнения команды :set number Включает нумерацию строк :set nonumber Выключает нумерацию строк 10.20 Команды линейного редактора : Говорит vi что следующая введенная команда является командой линейного редактора. :sh Временный выход в shell чтобы исполнить какие либо команды не покидая vi. CTRL-d Выходит из shell запущенного преведущей командой в vi. :n Переходит к строке номер nth текущего буфера. :x,zw filename Записывает строки от x до z в новый файл называемый filename. :$ Передвигает курсор к началу последней строки буфера. :.,$d Удаляет все строки от текущей до последней. :r filename Вставляет содержимое файла filename после текущей строки буфера. :s/text/new_text/ Заменяет первый встреченный образец text на текущей строке на new_text :s/text/new_text/g Заменяет все образцы text на текущей строке на new_text :g/text/s//new_text/g Заменяет все встреченный в буфере образцы text на new_text. 10.21 Другие команды u Отменить последнее изменение U Восстановить текущую строку ~ Изменить регистр J Соединить текущую строку со следующей . Повторить последнюю команду изменения текста CTRL-g Показать имя файла и номер строки Гыгыгы Удачи в VI. Юзайте ee
|