See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Vim — Уикипедия

Vim

от Уикипедия, свободната енциклопедия

Vim (произнасяно „Вим“)е един от най-мощните и стари текстови редактори, достъпен безплатно за почти всяка операционна система (включително и Windows). Vim прозлиза от текстовия редактор vi, които излиза през 1978 със Втората Дистрибуция на Бъркли (2BSD). VIM е включен в всяка дистрибуция на Linux и е често единственият мощен текстов редактор, който е достъпен при липса на Графичен Интерфейс (ГИ). Логиката на програмата е по различна от логиката на модерните текстови редактори и следва повече логиката на Linux bash. Vim поддържа редактиране отдясно наляво (напр. за Арабски, Farsi, Hebrew), и многобайтови знаци за езици чиито букви изискват повече от един байт компютърна памет, каквито са Китайски, Японски, Корейски (Hangul), (От техническа гледна точка, Vim поддържа текст в UTF-8 и Unicode.). Vim има команди, които дописват това, което пишете - команди, имена на файлове или думи. Vim автоматично разпознава типа на файла (DOS, Mac, Unix) и ви позволява да го променяте.

Съдържание

[редактиране] Инсталиране

Vim е част от всяка една модерна Unix, Linux и BSD дистрибуция. За Уиндоус програмата може да бъде изтеглена безплатно от тук.

[редактиране] Свойства на текстовият редактор

Свойствата на програмата са представени със конктретни примери - за владеещите английски език най - лесният начин за запознаване е изпълнението на командата vimtutor, за хората с по слаби умения четенето на този документ и едновременно експрериментиране с отворена програма и готов непортребен текстов файл е препоръчително.

[редактиране] Режими

Програмата разполага с различни режими - т.е. програмата реагира на написаното на клавиатурата според режима, в който се намира. За начинаещи най-трудният момент е осъзнаването на този факт, както и свикването към преминаването в различни режими.

[редактиране] Нормален режим

В този режим (Normal mode) бива стартиран текстовия редактор. В този режим се осъществява навигацията с клавишите j ,k , l и h. Освен това натискането на следните клавиши предизвиква: x - изтриване на знак след курсора

X - изтриване на знак от ляво на курсора

dd - изтриване на целият ред на курсора

[редактиране] Команден режим

За да бъдат изпълнявани комади първо трябва да се премине в Нормален режим и после да се натиска двоеточие : и след това се написва командата. Например от Нормално състояние :q! би било командата за излизане от текущия файл без запазване на промените направени в него.

[редактиране] Режим на въвеждане

В този режим (Insert mode) написаният текст на клавиатурата бива вписван и в текстовия файл. Активира се след натискането на клавиша i. Излиза се след натискането на Esc клавиша. Съществуват и други клавишни комбинации за преминаване от нормален (команден режим) в режим на въвеждане - например A преминава в режим на въвеждане, като едновременно премества курсора в края на текущия ред.

[редактиране] Визуален режим

Този режим (Visual mode) е нужен, тъй като конзолата няма същата възможност за представяне на отбелязан текст както графичния интерфейс. Упортребата на този режим е равносилно на натискането на Shift клавиша и отбелязването на текста със стрелките във ГИ (Графичен интерфейс ).

В този режим може да се избира (маркира текст) от текущата позиция след преминаването в режима (чрез натискане на клавиша v) до излизането от режима (натискане на клавиша y, което е командата за копиране, или Esc за преминаване в нормално състояние). Т.е. натискане на v някъде във файла, предвижване с j надолу , натискане на y за копиране на отбелязания текст.

[редактиране] Клавишни комбинации

Клавишните комбинации представени тук са различни за малки и Главни БУКВИ -- т.е. клавишната комбинация Ctrl + G означава едновременно натискане на Контрол клавиша, Шифт клавиша и g , което е различно от Ctrl + g - натискане само на контрол и g клавишите

[редактиране] Търсене на помощ

Esc --- преминаване в Нормален режим
:help --- показване на вградената помощ
help HelpForItem --- показване на помощ съдържаща низа HelpForItem
help .*open\&.*window --- показване на всички редове съдържащи регулярния израз .*open\&.*window т.е. всички редове сърържащи информация за отваряне на прозорци (и двата низа open и window)
:cnext --- скача на следващото попадение на израза от предишната команда

[редактиране] Работа с файлове

:q! -- Излиза от VIM без да запазва промените в текущия файл
:wq -- Излиза от VIM и запазва промените в текущия файл
:wq copy_of_current_file --- запазва копие от текущия файл със ново име copy_of_current_file
vim file_name -- отваря файла със име file_name, 
                 ако този файл не съществува създава нов с това име
:split file_name --- отваря нов файл в същият прозорец
vim -o file_name1 file_name2 --- отваря file_name1 file_name2 едновременно
vim *.txt        --- отваря всички текстови файлове в текущата директория
vim *            --- отваря всички файлове рекурсивно в текушата директория
gf --- отворя файла , на чиито файлов път се намира в момента курсора
:bn              --- отваря следващия файлов буфер
:cnext           --- отваря следващия файлов буфер
:bp              --- отваря предишния файлов буфер
:ls              --- представя текущите отворени файлови буфери
:bn 3            --- отваря файлов буфер номериран с 3 от предишната команда 

[редактиране] Преминаване в различните състояния

Esc - преминаване в Нормален режим
от  Нормален режим i -- преминава в Режим на въвеждане
като текста бива въведен при писане ПРЕДИ курсора 
от Нормален режим a -- преминава в Режим на въвеждане
като текста бива въведен при писане СЛЕД курсора 
от Нормален режим А -- преминава в Режим на въвеждане
като текста бива въведен при писане в края на текущия ред на курсора 
от Нормален режим О --- отваряне на файла в Режим на въвеждане и добавяне на един ред преди текущия ред 
от Нормален режим о --- отваряне на файла в Режим на въвеждане и добавяне на един ред след текущия ред  

[редактиране] Предвижване в текста

Всички тези команди работят в Нормален режим - т.е. натисни първо Esc за преминаване в Нормален режим


j  --- надолу
k  ---  нагоре
h  ---  надясно
l  ---  наляво

Освен тях класическите:
Home  ---  скок в началото на реда 
End  ---  скок в края на реда 
Ctrl + Home  ---  скок в началото на файла 
Ctrl + End  ---  скок в края на файла
със стрелките на ляво надясно нагоре и надолу
Ctrl + лява стрелка  --- скок с една дума наляво
Ctrl + дясна стрелка  --- скок с една дума надясно
Ctrl + G --- показване на текущият файл и ред на който се намира курсора
495G --- прескачане до 495 ред на файла
Ctrl + O --- прескачане до предишната позиция където беше курсора
Ctrl + I --- прескачане до предишната позиция където беше курсора до позицият на първото прескачане
e - прескачане в началото на думите по протежение на реда , равносилно на Ctrl + лява стрелка в ГИ

[редактиране] Редактиране

Натисни Esc за преминаване в Нормален режим. 
dd - изтриване на текущия ред
dw - изтриване на текущата дума (на дясно от курсора )
v преминаване във визуално състояние, j за отбелязване на реда, до който текстът трябва да се бъде изтрит, d за изтриване на отбелязания текст и излизане от визуалното състояние.

[редактиране] Търсене на текст

Натисни Esc за преминаване в Нормален режим. 

/tokenToSearch търси думата tokenToSearch НАДОЛУ в текста
n - прескача до следваща дума tokenToSearch НАДОЛУ
N - прескача до следваща дума tokenToSearch НАГОРЕ

?tokenToSearch търси думата tokenToSearch НАГОРЕ в текста
n - прескача до следваща дума tokenToSearch НАДОЛУ
Ctrl + o - прескача до предното положение на маркера
Ctrl + i - прескача до положение преди скока с Ctrl + o на маркера
N - прескача до следваща дума tokenToSearch НАГОРЕ

При маркер на позицията на често упортребяваните за програмиране писмени знаци () [] {} и натискане на % маркерът прескача до съответният писмен знак, ако има такъв, ако няма си стои на място.

* Търси за думата под курсора в текста НАДОЛУ
# Търси за думата под курсора в текста НАГОРЕ

Бележка, че командите за търсене могат де комбинират с останалите команди, т.е. при завършило търсене на tokenToSearch и натискане на dn програмата ще изтрие всичко от текущата позиция на курсора до първото срещане на tokenToSearch надолу.

[редактиране] Търсене и замяна на текст

Натисни първо Esc за преминаване в Нормално състояние. Тази част е лесна за умеещите регулярни изрази

:s/foo/bar/g           намери всеки низ 'foo' и го замени с  'bar' без да питаш дали да го замениш в текущият ред на курсора
:%s/foo/bar/g           намери всеки низ 'foo' и го замени с  'bar' без да питаш дали да го замениш в целия файл 
:%s/foo/bar/gci         намери всеки низ 'foo' и го замени с  'bar' без да питаш дали да го замениш без да вземаш под внимание ГОЛЕМИ или малки или дуМИ с СмесеНИ по големина букви в целия файл 

[редактиране] Изпълняване на външни команди

Натисни Esc за преминаване в Нормален режим. 
:! commandToExecute - изпълнява командата commandToExecute в съответствие със шелът в който се намира 

т.е. във Windows могат да бъдат изпълнявани типични за cmd.exe команди, a за Linux за типа shell от който VIM е извикан, за останалите операционни системи командите на техният shell.


! ShellCommandToRun -withParameters a b c --- изпълнение на шелова команда направо от командния ред на vim

В повечето *nix шелове текстовият редактор може да бъде спрян временно с натискането на Ctrl-z, което би върнало потребителят обратно в шела. След изпълнение на командите връщането на "сесията" във Vim може да бъде направено с изпълнението на командата fg - това е свойство на шела, а не на текстовия редактор.

Ctrl-R Ctrl-F --- Копира името на файла под курсора в редактора на командния ред в команден режим.

Ctrl-R Ctrl-A -- копира текста от редактора в командния ред в команден режим.

[редактиране] Поддържане множество буфери

Тъй като файловете не се запазват изрично от програмата, данните преди запазването на файла се съхраняват в обект наречен буфер. Текстовият редактор може да има множествор отворени буфери едновременно.

Натисни Esc за преминаване в Нормален режим. 
:buffers --- показва наличната информация за отворените буфери
Ctrl + W , W --- смяна от един отворен буфер в друг 
CTRL-W q --- затваряне на отворен прозорец 
:hide --- скрива текущия прозорец но го държи отворен в буферния регистър

[редактиране] Задаване на собствени настойки

Собвствените настойки се задават най-общо с командата set [име на настройка]=[стойност] Някои често упортребявани примери са:

Натисни Esc за преминаване в Нормален режим. 
set winheight=999 --- задаване на височината на текущия прозорец да бъде 999 знака

[редактиране] Употреба като файлов мениджър

Програмата може да бъде използвана като мениджър за управление на файлове, чрез изпълнение на командата :edit /name/of/the/folder/to/edit. В това състояние следните клавишни комбинации изпълняват следните действия:

- --- отива едно ниво по нагоре във файловата система
D --- изтрива файл 
R --- преименуване на файл


[редактиране] Настройки

Следните файлове съдържат метаданни за сесиите на програмата.

vim /root/.viminfo
vim /home/userName/.viminfo
vim /home/anotherUser/.viminfo

Kak да променим цветовете на текъщата цветова схема.

  • Провери за настройките на цветовете в следните файлове: /root/.vimrc или /home/usrname/.vimrc

set colorsheme=dark

  • Промяна на текущата цветова схема

/usr/share/vim/vim63/colors/darkblue.vim /comments

  • Избери хексадецимален номер за цвета на коментарите в кода ... - #40FF00 (google color table )


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -