Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite

Lines Club

Ищем достойных соперников.




Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Next Previous Contents

10. Справочник по командам vi

10.1 Режимы Vi

Vi имеет 3 режима:

  1. командный режим - Включается при запуске vi; для перехода в командный режим из других режимов (используйте ESC)
  2. режим ввода - активируется специальными командами a i A I o O c C s S R и выключается при помощи ESC или в случае ошибки.
  3. линейный режим - т.е. ожидание ввода команд после нажатия : , / , ? или ! (выключается с CR, обрывается с помощью CTRL-c). CTRL это клавиша control: CTRL-c означает "control c"

10.2 Команды Shell

  1. TERM= code Помещает имя вашего терминала в переменную TERM
  2. export TERM Передаёт значение переменной TERM (код терминала) любой программе в UNIX системе.
  3. tput init Инициализирует терминал таким образом, чтобы он функционировал правильно с различными UNIX программами.
  4. vi filename Запускает vi и загружает на редактирование указанный файл.
  5. vi file1 file2 file3 Записывает в буфер vi три файла для последующего их редактирования. Эти файлы file1, file2, и file3.
  6. view file Загружает файл file в режиме только-для-чтения.
  7. vi -R file Аналогично преведущей команде.
  8. vi -r file Восстанавливает file и последние изменения после краха системы.

10.3 Установка параметров

  1. :set опция Активизирует опцию
  2. :set опция=значение Назначает значение для опции
  3. :set no опция Деактивирует опцию
  4. :set Показывает опции установленные пользователем.
  5. :set all Показывает все опции, как установленные пользователем, так и опции "по умолчанию".
  6. :set опцию? Показывает значение опции

10.4 Используемые обозначения

  1. CTRL-c CTRL Это клавиша control: CTRL-c означает "control c"
  2. 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 Показать имя файла и номер строки

Next Previous Contents


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют