Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Где взять краткую справку по vi (vim)?

Поиск:
Система: Практически все *NIX
Вопрос: Где взять краткую справку по vi (vim)?

Ответ: Здесь :)

vi (vedit) - экранно-ориентированный текстовый редактор. Он позволяет видеть одновременно целую страницу текста, перемещаться по нему курсором и непосредственно видеть вносимые изменения.

Редактор vi является наследником строкового редактора ex, который, в свою очередь, является расширением базового текстового редактора ed. Тем самым, обеспечивается преемственность средств редактирования и использование эффективного механизма поиска и замены на базе регулярных выражений.
Вызов

Для вызова редактора vi в простейшем случае используется следующий синтаксис:

Код
vi [+строка] [ файл ]


В результате, указанный файл открывается в окне редактора. Если файл не указан, редактируется первоначально пустой буфер (т.е. новый файл, имя которого первоначально не задано).

Строку, на которой открывается файл, можно задавать следующим образом:

Код

+номер Строка с указанным номером
+ Последняя строка файла
+/re Строка, соответствующая указанному регулярному выражению re


Указанная строка будет находиться в центре экрана (если только файл не меньше, чем размер экрана) и в ее начале будет установлен курсор.
Режимы работы

Редактор vi поддерживает несколько режимов работы:
Командный режим Нормальный и начальный режим. По завершении других режимов происходит возврат в командный режим. Для форсированного перехода в этот режим используется клавиша Esc
Режим ввода В режим ввода входят при задании одной из следующих команд: a A i I o O c C s S R. При этом может набираться произвольный текст. Из этого режима выходят либо по Esc, либо он автоматически прерывается редактором. При этом обычно подается звуковой сигнал.
Режим последней строки Чтение ввода для команды : / ? или !; прекращается нажатием клавиши Enter.
Основные команды

Основные команды редактора vi представлены в табл. 22.

Таблица 22. Сводка основных команд редактора vi
Перемещение курсора
Код

H (Ctrl-h) курсор влево
J (Ctrl-n) курсор вниз
K (Ctrl-p) курсор вверх
L (Space) курсор право
Ctrl-u Переход вверх на половину экрана
Ctrl-d Переход вниз на половину экрана
Ctrl-f На страницу вперед (PageDn)
Ctrl-b На страницу назад (PageUp)
0 Переход в начало текущей строки
$ Переход в конец текущей строки
nG Переход на строку с номером n


Добавление текста

Код

a              Добавить текст после курсора
A Добавить текст в конце текущей строки
i Вставить текст перед курсором
I Вставить текст в начале текущей строки
o Образовать новую строку под текущей
O Образовать новую строку над текущей


Изменение текста
Код

~ Изменить регистр символа над курсором
r Замена одного символа
R Замена символов


Удаление текста
Код

x Удаление символа
dd Удаление строки
Ndd Удаление N строк


Поиск и замена
Код

/str Поиск строки str вперед. str может быть регулярным выражением
?/str Поиск строки str назад
n Повторить поиск в том же направлении
N Повторить поиск в обратном направлении
:[range]s/old/new/[g] Заменить old на new в указанном диапазоне строк range. new и old могут быть регулярными выражениями, а range задается аналогично диапазону строк в редакторе ed. Суффикс g означает заменить во всем файле.


Копирование текста
Код

yy Копирование строки в целом
Nyy Копирование N строк
p Вставить из буфера после (курсора, текущей строки)
P Вставить из буфера перед (курсором, текущей строкой)


Выход из редактора
Код

:wq ENTER Запись и выход. Записать текст из буфера в файл и выйти из редактора.
:x ENTER Условная запись и выход. Записать текст из буфера только при наличии изменений и выйти из редактора.
:q! ENTER Закончить редактирование без записи изменений.


Другие команды
Код

! Выполнить одну команду интерпретатора
. Повторить последнюю команду
u Отменить действие последней команды
J Соединить строки
Ctrl-G Показать номер текущей строки


Курсор можно перемещать и клавишами перемещения курсора или клавишами PageUp, PageDn, но эти возможности, в отличие от описанных в таблице, поддерживаются не на всех терминалах.
Автор: Chuck
Сайт: http://www.school71.uz/chuck/






Просмотров: 4692

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную