Текстовый консольный редактор VI встроен во все Unix-системы и ему около 40 лет. Это серьезный возраст, и он ему соответствует. Нет повода, чтобы не написать пару строк об этом замечательном явлении.
Человек из мира Windows встает в продолжительный ступор оказавшись в консоли этого редактора. И, обычно, закрывает его. И забывает, открыв для себя с радостью Pico, Nano, etc.
Но все равно, рано или поздно, вы с ним сталкиваетесь. От VI не уйти ;-). Поэтому опишу основные команды для работы в этом редакторе и приведу ссылки на тематические ресурсы.
Основы основ
Чтобы открыть для редактирования уже существующий файл, путь к этому файлу нужно указать в качестве параметра: "vi путь_к_файлу".
Пока буфер не заполнен текстом, в начале каждой строки экрана отображается символ "~", обозначающий, что в этом месте буфера нет ничего, даже пустой строки.
Кстати, у vi, конечно же, есть конфигурационный файл. Он называется .exrc и находится в домашнем каталоге.
Наконец, чтобы ввести текст, нужно перейти из командного режима в режим вставки, нажав клавишу "i".
Например, по командам "O" и "o" ("open") можно вводить текст с новой строки (до или после текущей), по команде "I" – с начала строки, команды "a" и "A" ("append") ведают добавлением символов (после курсора или в конец строки) и т. п.
Передвинуть курсор на начало текущей строки можно командой "0", на первый непробельный символ в строке – "^", в конец строки – "$".
Абзацами Vi считает фрагменты текста, разделенные пустой строкой, к началу предыдущего/следующего абзаца можно попасть командами "{" и "}" соответственно. Очень распространенная задача – необходимость попасть в самый конец файла: для этого служит команда "G" ("Go"), в самое начало – "gg".
Часто используемые команды
* :q — выход
* :q! — выход без сохранения файла
* :w — сохранить файл на диске
* :wq — выход с сохранением файла
* :e! — перезагрузить текущий файл
* :33 — перепрыгнуть на 33ю строку текстового файла
* i — перейти в режим редактирования
* u — отменить последнее действие
* x — удалить символ под курсором
* dd — удалить всю строку
* /qso — найти слово qso в тексте после курсора
* Esc → :wq → Enter — выйти из файла, сохранив его;
* Esc → :q! → Enter — выйти из файла, не сохранив его.
Чтобы получить подробную помощь по редактору vi, выполните команду man vi в Unix shell (q — выход из справки).
Основные команды vi
vi filename Вызов редактора vi для редактирования файла filename
a Добавить текст после курсора (переход в режим ввода)
h Переместить курсор на один символ влево
j Переместить курсор вниз на одну строку
k Переместить курсор вверх на одну строку
l Переместить курсор на один символ вправо
x Удалить символ
:w Записать в файл
:q Завершить работу с vi
:q! Завершить работу с vi без сохранения файла
:wq Записать буфер в файл и завершить работу с vi
ZZ Записать буфер в файл и завершить работу с vi
Позиционирование курсора
h Переместить курсор на один символ влево
j Переместить курсор вниз на одну строку
k Переместить курсор вверх на одну строку
l Переместить курсор на один символ вправо
$ Переместить курсор на последний символ в строке
0(ноль) Переместить курсор на первый символ в строке
^ Переместить курсор на первый не пустой символ в строке
w Переместить курсор к началу следующего слова
W Переместить курсор к началу следующего слова, не учитывая все знаки пунктуации
1G Перейти к первой строке в файле
G Перейти к последней строке в файле
nG Перейти к строке номер n в файле
:set num Показывать номера строк в файле
:set nonum Не показывать номера строк в файле
^f Прокрутить экран вперёд на полное окно.
^b Прокрутить экран назад на полное окно.
Поиск и замена текста по шаблону (*)
/pattern
?pattern
n Повторить последнюю команду поиска
:s/pattern/new_text/
:s/pattern/new_text/g
:g/pattern/s//new_text/g
* В шаблоне (pattern) работают регулярные выражения (RE - Regular Expressions). Подробнее про регулярные выражения можно найти в IBM AIX InfoCenter.
Ввод, удаление и замена текста
a Создать текст после курсора (переход в режим ввода)
A Создать текст в конце текущей строки (переход в режим ввода)
i Создать текст перед курсором (переход в режим ввода)
o Вставить новвую строку ниже текущей строки и перейти в неё (переход в режим ввода)
O Вставить новвую строку выше текущей строки и перейти в неё (переход в режим ввода)
x Удалить текущий символ
dw Удалить слово над курсором (текст помещается во временный буфер)
dW Удалить слово и пунктуацию над курсором (текст помещается во временный буфер)
dd Удалить текущую строку (текст помещается во временный буфер)
rx Заменить текущий символ на символ x
R Перейти в режим ввода с заменой текста
u Отменить последнюю команду
. Повторить последнюю команду
j Соединить текущую строку со строкой, расположенной ниже
yy Скопировать строку во временный буфер
p Поместить содержимое временного буфера, полученное с помощью команды y или команд удаления, в текст после курсора
:show mode
Работа с файлами и выход из редактора
ZZ Записать текст в файл и завершить работу с vi
:wq
:w
:w!
:q
:q!
:w filename
:w! filename
Отечественные ресурсы по теме VI
http://www.intuit.ru/department/os/linux/9/
http://www.aixportal.ru/content/view/23/139/
http://ru.wikipedia.org/wiki/Vi
VIM
http://www.vim.org/
Комментариев нет:
Отправить комментарий