четверг, 19 сентября 2013 г.

Команды редактора VI

VI - текстовый редактор - кошмар для случайного пользователя. Если его удается в конце-концов закрыть, то вздыхаешь с облегчением и твердой уверенностью, что больше не будешь запускать эту программу ни в коем случае.

Действительно, такой редактор нельзя просто открыть и начать работать требуется предварительная подготовка. Зато стоит раз испытать его в работе, и поражаешься, как мог обходиться без него раньше.

Консольные системы Unix не имеют в своем базовом комплекте ни одного нормального (еще раз подчеркну это слово - НОРМАЛЬНОГО) текстового редактора.

Поэтому системный администратор должен уметь пользоваться тем, что ему дают. А дают ему несравненный "Визуальный" экранный редактор файлов - Редактор VI.


Для работы, обычно достаточно знать всего несколько команд. Обычно для работы хватает таких:

vi /file_folder/filename - открыть файл в редакторе vi
vi /file_folder/filename ++25 - открыть файл в редакторе vi и перейти к строке 25.

i - включить режим внесения изменений
[Esc] - выйти из данного режима

u - undo (отмена сделанного изменения)
CTRL + R - redo (вернуть сделанное изменение)

:w [Enter] - сохранить внесенные изменения.

:q! [Enter] - выйти без сохранения изменений
:wq [Enter] - сохранить внесенные изменения и выйти.

dd - удалет строку на которой находится курсор
x - удалет символ на котором находится курсов


[y] - копирует строку в буфер
[P] - вставляет скопированную строку после той, на которой в текущий момент находится курсор


Поиск:

/text [Enter] - выполняет поиск "text" в тексте


Автозамена:

:%s/6201/6202/gc - ищет в документе вхождение 6201 и меняет (с подтверждением) на 6202 (замена порта).


Показать/Скрыть номера строк в редакторе vi:

:set nu - нумеровать строки
:set nonu - не нумеровать строки



!!!Чтобы редактор сохранил настройки, необходимо в файле ~/.vimrc
прописать строку, например set nu





Код взят на каком-то из девелоперских серверов. Допиливаем VI под себя:

vi ~/.vimrc

Достаточно удобно по F2 сохранять результат, а по F10 выходить.

1 set nocompatible
2
3 colorscheme desert
4
5 set novisualbell
6
7 set nu
8
9 set termencoding=utf-8
10
11 set hidden
12
13 set ch=1
14 set showcmd
15
16 syntax on
17
18 set autoindent
19 set smartindent
20
21 nmap <F2> :w<cr>
22 vmap <F2> <esc>:w<cr>i
23 imap <F2> <esc>:w<cr>i<right>
24
25 imap <Ins> <Esc>i
26
27 map <F10> :q!<cr>
28 vmap <F10> <esc>:q!<cr>
29 imap <F10> <esc>:q!<cr>

Комментариев нет:

Отправить комментарий