Редакторът Vi (съкращение от visual) е един от най-популярните текстови редактори в Linux света. Можете да го намерите във всички Unix ОС, като той работи по един и същ начин на тях.
-
vi <нов_файл/съществуващ_файл>
- ако файлът съществува го отваря за редактиране, иначе може да създадете нов файл -
може да стартирате vi и без да му подавате име на файл и да пишете информация в редактора. Тук разликата е, че при записването трябва да укажете име на файла.
Vi има два режима на работа - команден режим (command mode) и въвеждащ режим (insert mode).
При стартиране на Vi винаги влизате в този режим. Тук можете само да изпълнявате команди, чрез които да , движите курсора и да копирате, поставяте и изрязвате текст.
Като влезете във въвеждащ режим вече можете да пишете и триете, като всичко се третира като "набор на текст", който накрая (ако желаете) се записва във файл.
-
k - премества курсора нагоре (може да се използва стрелка нагоре)
-
j - премества курсора надолу (може да се използва стрелка надолу)
-
h - премества курсора наляво (може да се използва стрелка наляво)
-
l - премества курсора надясно (може да се използва стрелка надясно)
-
b - към първия символ на думата
-
е - към последния символ на дума
-
w - към първия символ на следващата дума
-
0 - към началото на текущия ред
-
^ - към първият символ от текущия ред
-
$ - към последния символ на текущия ред
-
Enter - премества курсора на първия символ на следващия ред
-
nG - премества курсора на n-тия ред. Само G премества курсора на последния ред
- CTRL+d - Придвижва се напред с половин екран.
- CTRL+f - Придвижва се напред с един екран.
- CTRL+u - Придвижва се назад с половин екран.
- CTRL+b - Придвижва се назад с един екран.
Когато въведем тези команди влизаме в режим на въвеждане
-
i - въвеждане преди мястото на курсора
-
a - въвеждане след мястото на курсора
-
A - въвеждане в края на реда
-
o - добавя нов, празен ред след текущия
-
О - добавя нов, празен ред преди текущия
-
ESC - прекратява въвеждащия режим
-
r - заменя символа, на който се намира курсора
-
R - заменя, колкото символи въведем
-
cw - променя думата от текущото положение на курсора до края на думата
-
c^ - променя думата от текущото положение на курсора до първия символ на реда
-
c$ - променя думата от текущото положение на курсора до последния символ на реда
-
cc - изменя целия ред, на който се намираме
-
u - премахва последната промяма
-
U - премахва абсолютно всички промени
-
x - изтрива символа, на който се намира курсора
-
dw - изтрива дума от позицията, на която се намира курсора до края
-
d^ - изтрива всичко от позицията на курсора до първия символ на реда (включително)
-
dd - изтрива редът, на който се намира курсора
-
d$ - изтрива всичко от позицията на курсора до последния символ на реда (включително)
Промяната и изтриването на текст може да се извърши върху няколко символа/думи/редове, като укажете число, примерно 5dd, 5x,5c, d5w
-
yw - копира думата
-
yy - копира ред
-
p - поставя копираните символи
Примери:
5yw (или y5w) - копира следващите 5 думи
yy и 5p - копира текущия ред и го поставя 5 пъти
-
dw + p - преместване на дума
-
dd + p преместване на ред
-
/низ - търсене на низ надолу от текущия ред във файла
-
?низ - търсене на низ нагоре от текущия ред във файла
-
n - търсене на следващ резултат в същата посока
-
N - търсене на следващ резултат в предишната посока
JK
-
:w - записва промените във файла. Aко сме отворили редактора без да указваме име на файл трябва да го укажем тук.
-
:q - излиза от редактора
-
:q! - излиза от редактора без да запише промените
-
:wq - записване и изход
-
:e file - започва редактирането на нов файл
-
:е! file - започва редактирането на нов файл, без да се запазват промените по стария редактиран
-
:r file - прочита файлът file и добавя съдържанието му след курсора