Vim: Разлика между версии

Изтрито е съдържание Добавено е съдържание
м без интервал преди запетая
м форматиране: 10x тире, 9x заглавие-стил, 6x нов ред, 32 интервала (ползвайки Advisor)
Ред 1:
'''Vim''' (произнасяно „Вим“) е един от най-мощните и стари [[текстов редактор|текстови редактори]], достъпен безплатно за почти всяка операционна система (включително и [[Windows]]). Vim прозлиза от текстовия редактор vi, които излиза през 1978 с Втората Дистрибуция на Бъркли (2BSD). VIM е включен във всяка дистрибуция на [[Linux]] и е често единственият мощен текстов редактор, който е достъпен при липса на Графичен Интерфейс (ГИ). Логиката на програмата е по-различна от логиката на модерните текстови редактори и следва повече логиката на Linux [[bash]].
Vim поддържа редактиране от дясно наляво (например за арабски, фарси, иврит), и многобайтови знаци за [[Уникод]] и езици, чиито букви изискват повече от един байт компютърна памет, каквито са китайски, японски, корейски и др. Vim има команди, които дописват това, което пишете – команди, имена на файлове или думи. Vim автоматично разпознава типа на файла (DOS, Mac, Unix) и позволява промяната му.
 
== Инсталиране ==
Vim е част от всяка една модерна [[Unix]], [[Linux]] и [[BSD]] дистрибуция. За [[Уиндоус]] програмата може да бъде изтеглена безплатно от .<ref>[http://www.vim.org/download.php#pc| тук]www.vim.org]<ref/>
 
== Свойства на текстовият редактор ==
Свойствата на програмата са представени с конкретни примери - – за владеещите английски език най-лесният начин за запознаване е изпълнението на командата vimtutor, за хората с по слаби умения четенето на този документ и едновременно експериментиране с отворена програма и готов непотребен текстов файл е препоръчително.
 
=== Режими ===
Програмата разполага с различни режими – т.е. програмата реагира на написаното на клавиатурата според режима, в който се намира. За начинаещи най-трудният момент е осъзнаването на този факт, както и свикването към преминаването в различни режими.
 
==== Нормален режим ====
В този режим (Normal mode) бива стартиран текстовият редактор. В този режим се осъществява навигацията с клавишите j, k, l и h. Освен това натискането на следните клавиши предизвиква:
<pre>
x - изтриване на знак след курсора
Ред 21:
</pre>
 
==== Команден режим ====
 
За да бъдат изпълнявани команди, първо трябва да се премине в Нормален режим и после да се натиска двоеточие : и след това се написва командата. Например от Нормално състояние '':q!'' би било командата за излизане от текущия файл без запазване на промените направени в него.
 
==== Режим на въвеждане ====
В този режим (Insert mode) написаният текст на клавиатурата бива вписван и в текстовия файл. Активира се след натискането на клавиша ''i''. Излиза се след натискането на Esc клавиша. Съществуват и други клавишни комбинации за преминаване от нормален (команден режим) в режим на въвеждане - – например A преминава в режим на въвеждане, като едновременно премества курсора в края на текущия ред.
 
==== Визуален режим ====
Този режим (Visual mode) е нужен, тъй като конзолата няма същата възможност за представяне на отбелязан текст както графичния интерфейс. Употребата на този режим е равносилна на натискането на Shift клавиша и отбелязването на текста със стрелките при ГИ (Графичен интерфейс).
 
В този режим може да се избира (маркира текст) от текущата позиция след преминаването в режима (чрез натискане на клавиша v) до излизането от режима (натискане на клавиша y, което е командата за копиране, или Esc за преминаване в нормално състояние). Т.е. натискане на v някъде във файла, придвижване с j надолу, натискане на y за копиране на отбелязания текст.
 
=== Клавишни комбинации ===
Клавишните комбинации представени тук са различни за малки и Главни БУКВИ -- т.е. клавишната комбинация Ctrl + G означава едновременно натискане на Контрол клавиша, Шифт клавиша и g, което е различно от Ctrl + g - – натискане само на контрол и g клавишите
 
==== Търсене на помощ ====
Line 45 ⟶ 44:
</pre>
 
==== Работа с файлове ====
* :{{key|q}}! Излиза от VIM без да запазва промените в текущия файл
* :{{key|wq}} Излиза от VIM и запазва промените в текущия файл
* :{{key|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 * отваря всички файлове рекурсивно в текушата директория
* {{key|gf}} отворя файла, на чиито файлов път се намира в момента курсора
* :{{key|bn}} отваря следващия файлов буфер
* :{{key|cnext}} отваря следващия файлов буфер
* :{{key|bp}} отваря предишния файлов буфер
* :{{key|ls}} представя текущите отворени файлови буфери
* :{{key|bn}} 3 отваря файлов буфер номериран с 3 от предишната команда
 
==== Преминаване в различните състояния ====
 
* {{key|Esc}} преминаване в Нормален режим
* {{key|i}} от Нормален режим преминава в Режим на въвеждане като текста бива въведен при писане ПРЕДИ курсора
* {{key|a}} от Нормален режим преминава в Режим на въвеждане като текста бива въведен при писане СЛЕД курсора
* {{key|A}} от Нормален режим преминава в Режим на въвеждане като текста бива въведен при писане в края на текущия ред на курсора
* {{key|O}} от Нормален режим отваряне на файла в Режим на въвеждане и добавяне на един ред преди текущия ред
* {{key|o}} от Нормален режим отваряне на файла в Режим на въвеждане и добавяне на един ред след текущия ред
 
==== Придвижване в текста ====
Всички тези команди работят в Нормален режим - – т.е. натисни първо Esc за преминаване в Нормален режим
<pre>
j --- надолу
Line 94 ⟶ 92:
 
==== Редактиране ====
Натисни Esc за преминаване в Нормален режим.
 
Натисни Esc за преминаване в Нормален режим.
* {{key|dd}} изтриване на текущия ред
* {{key|dw}} изтриване на текущата дума (надясно от курсора )
* {{key|dl}} изтриване на знака намиращ се под курсора
* {{key|v}} еминаване във визуално състояние, j за отбелязване на реда, до който текстът трябва да се бъде изтрит, d за изтриване на отбелязания текст и излизане от визуалното състояние.
 
 
 
===== Копиране на текст =====
* {{key|Esc}},{{key|v}} Премини във визуален режим
* {{key|j}},{{key|k}},{{key|l}},{{key|h}} отиди с навигационните клавиши до желаното място от текста
* {{key|Esc}},{{key|v}} Премини във визуален режим
* {{key|dy}} иликопирай гоизбрания изтрийтекст в регистъра ( еквивалента на {{key|Ctrl|C}} +във XWindows – вкопирането Windowsв клипборда)
* {{key|j}},{{key|k}},{{key|l}},{{key|h}} отиди с навигационните клавиши до желаното място от текста
* {{key|yd}} копирайили избранияго текстизтрий в регистъра ( еквивалента на {{key|Ctrl|C}} във+ Windows - копиранетоX в клипборда Windows)
* {{key|d}} или го изтрий в регистъра ( еквивалента на Ctrl + X в Windows )
* {{key|yy}} или {{key|:y}} или {{key|Y}} в нормален или визуален режим копирай текущия ред, не е задължително да бъде избиран
* {{key|p}} натисни Esc за преминаване в нормален режим, отиди до мястото в текста ( или друг буфер ) където съдържанието на регистъра да бъде залепено, и за залепяне
* {{key|u}} премахни последната промяна
* {{key|Ctrl|r}} премахни посленото премахване
 
==== Търсене на текст ====
<pre>
Натисни Esc за преминаване в Нормален режим.
Line 128 ⟶ 122:
N - прескача до следваща дума tokenToSearch НАГОРЕ
</pre>
При маркер на позицията на често употребяваните за програмиране писмени знаци () [] {} и натискане на % маркерът прескача до съответният писмен знак, ако има такъв, ако няма си стои на място.
<pre>
* Търси за думата под курсора в текста НАДОЛУ
Line 135 ⟶ 129:
Бележка, че командите за търсене могат да се комбинират с останалите команди, т.е. при завършило търсене на tokenToSearch и натискане на <code>dn</code> програмата ще изтрие всичко от текущата позиция на курсора до първото срещане на tokenToSearch надолу.
 
==== Търсене и замяна на текст ====
Натисни първо Esc за преминаване в Нормално състояние. Тази част е лесна за умеещите [[регулярен израз | регулярни изрази]].
<pre>
Line 143 ⟶ 137:
</pre>
 
==== Изпълняване на външни команди ====
Натисни 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 -- копира текста от редактора в командния ред в команден режим.
 
==== Поддържане множество буфери ====
Тъй като файловете не се запазват изрично от програмата, данните преди запазването на файла се съхраняват в обект, наречен буфер. Текстовият редактор може да има множество отворени буфери едновременно.
<pre>
Натисни Esc за преминаване в Нормален режим.
Line 189 ⟶ 183:
Как да променим цветовете на текущата цветова схема.
 
* Провери за настройките на цветовете в следните файлове: /root/.vimrc или /home/usrname/.vimrc
 
set colorsheme=dark
 
* Промяна на текущата цветова схема
 
/usr/share/vim/vim63/colors/darkblue.vim
/comments
 
* Избери шестнайсетичен (хексадецимален) номер за цвета на коментарите в кода ... - – #40FF00 (google color table )
 
== Външни препратки ==
* [http://www.math.bas.bg/softeng/bantchev/pew/about-vim.html Редакторът Vim.]
 
 
[[Категория:Текстови редактори]]
Взето от „https://bg.wikipedia.org/wiki/Vim“.