24 Oct

Learning Vim

Работая с Unix подобными операционными системами, приходиться часто иметь дело с многочисленными текстовыми файлами, будь это файлы настроек,системные файлы или относящие к языкам программирования. У каждого пользователя Linux есть свой любимый текстовой редактор. Многие при переходе с Windows используют Gedit или Kate. Из консольных рекдакторов удобный и простой нано или Easy Editor в BSD. Когда мне нужно было использовать редактор с подсветкой кода – то пользовался Gedit. Правда добавив в него несколько новых плагинов – он у меня чуть тормозил с запуском. Хотя это было не совсем долго сек 5-10, но это сильно раздражало. Для консольных дел я использовал nano. Он очень прост в использовании и интуитивно понятен. Но чтоб редактировать большие файлы, где надо было бежать до конца строки, возврашаться обратно, работать со орфографическими ошибками в словах – он был не очень то и удобен.
Решил попробовать Vi/Vim. Много слышал о нем, но чтоб работать в нем, надо было его еще изучить. Раньше думал зачем изучать еще и текстовой редактор, когда в мире есть простые редакторы, где без труда можно сразу же приступить для работы с текстом. Но это оказалось не так. Начав изучать Vim, выписал полезные,необходимые, часто используемые команды, которые очень сильно помогают при редактировании файлов и на столько ускоряют процесс работы, что получаешь удовольствие при работе с ним.
Выписал из O’Reilly’s – “Learning the vi Editor(6th Edition)” и Kim Schulz – “Hacking Vim”. Для начала надо отметить, что это не простой редактор. Он имеет 2 типа работы. Первый – непосредственно введение,запись текста в файл, а второй – команды которые упрощают редактирование текста.
Команды выписал на английском, думаю они просты и не требуют перевода.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
vim filename.txt  - open file
ZZ - save and close file
:e! - exit without save(buffer back all)
i - introduction,insert text
h,j,k,l - left, down, up, right.
0 - begin of line
$ - end of line
w - go to the next word(with symbol)
W- go to the next word(without symbol)
i=a - insert text
c - change (cw - change word)
cc - change lines
r - replace symbol
R - replace text
~ - uppercase and lowercase letters
d - delete(dw - delete word, dd - delete line)
x - delete symbol
u - undo (U - undo all changes in all line)
p - paste from buffer
xp - change place of symbol
y - copy text (yw - copy word, yy - copy line)
. - repeat previous command
J - join lines
:w - write file
:q - quit
ctrl+F - scroll page down
ctrl+B - scroll page up
ctrl+D - scroll half of page down
ctrl+U - scroll half of page up
H - move home
M - move to the middle of screen
+ - move to the next line
<ul>
<li>- move to the previous line</li>
</ul>


( - move to the begin of sentence
) - move to the end of sentence
e - move to the end of word
{ - move to the begin of paragraph
} - move to the end of paragraph
/word - search "word"
n - next search
? - previous search
:set nu - display line(:set nonu - contrary)
ctrl+G - line info
5G - go line № 5
:= - print total № of lines
:.= -print № of current line
:1,10w newfile.txt - save line from 1 to 10 in newfile.txt
:r oldfile.txt - read to the current file info from oldfile.txt
:vi 1file.txt 2file.txt - open two files
:n - next file display
:e - switch another file
:s/old/new - replace "old" with "new" in line
:g/old/new - replace "old" with "new" in all lines in file
:r !data - paste data(this is a  bash console command.) to the file

В Vim можно поменять цветовые схемы оформления. Для этого набираем

1
:colorscheme

и меняем нажимая Таb. Изменения сохраняются только для одного сеанса. Чтоб оставить “навсегда” – лезем в файл настроек /etc/vim/vimrc. В конце добавляем строчку:

1
colors darkblue

где darkblue – цветовая схема.

Tweet about this on TwitterShare on FacebookShare on Google+Share on RedditShare on VK