Бележки разпръснати администратор - редактиране на множество файлове

РЪКОВОДСТВО ВИМ - от Брам Moolenaar

Редактиране на множество файлове

Досега сте изпълнили Vim за всеки файл, който ви е необходимо, за да редактирате. Има по-лесен начин. За да започнете да редактирате друг файл, използвайте командата

Вместо "foo.txt" можете да пишете всеки желан име на файла. Vim ще се затвори текущия файл и да отвори нова. Ако текущия файл има незапазени промени, Vim ще отпечата съобщение за грешка и няма да се отвори нов файл:

забележка:
В началото на всяко съобщение за грешка, Vim поставя номера на грешка. Ако не разбирам смисъла на съобщението, или причините, които са довели до издаването на съобщения, след това погледнете в системата за помощ на този номер. Например, в този случай. помощ E37

В този случай, трябва да имате алтернатива. Можете, например, запишете файла с командата

В допълнение, той също така е възможно да принуди Vim да се игнорира промените, направени с помощта на проверки заобикалят символ (!):

Ако искате да редактирате друг файл все още не искате да запазите промените в текущия файл, можете да "скрие" текущия файл:

Vim може да се стартира с посочване на списъка с файлове за редактиране. Например:

Тази команда започва Vim и посочете, че желаете да редактирате файловете, изброени. След като се започне Vim ще покаже първия файл. След като приключите с файла, можете да продължите към следващата с командата

Ако текущия файл има незапазени промени, Vim ще даде грешка и да откаже да изпълни командата ": Следващата", както и в предишния случай, с екипа на "редактирам". За да отмените промените, в този случай, ще трябва да използвате командата

Най-често, все още трябва да запазите промените и след това преминете към следващия файл. За тази цел има специална команда:

Тази команда прави същото нещо, че две последователни команди

За да видите кой файл в списъка с аргумент, който редактирате, погледнете заглавната лента. В него трябва да се покаже, че нещо подобно "(2 от 3)." Това означава, че който редактирате втория файл от три.

За да видите списък на файловете, използвайте командата:

Е абревиатура на английската дума "аргументи" (аргументи). Изходът може да изглежда така:

Това е списък на файловете, които се движат Vim. Файлът, който редактирате в момента, е показан в скоби.

Превъртите през списъка аргументите на

За да се върнете към предишния файл, използвайте командата

Тази команда работи по същия начин като командата ": следващата", но в обратен ред. Налице е също така кратка команда, за да запазите промените, преди да
отидете на предишния файл:

За да преминете към последния файл в списъка, използвайте командата

и да се премести в първия файл - команда

Междувременно, екипът ": wlast" и ": wfirst" не са предвидени.

С командите ": Следващата" и ": предишния" можете да използвате цифров префикс. Например, за да се придвижи напред по двата файла, използвайте

Автоматично записване ПРОМЕНИ

За да предотвратите появата на съобщения за грешка, когато се движите между файлове, трябва да се помни, за да запазите промените в екипа ": пиши". Ако не сте сигурни, че винаги искате да запазите променения файл, можете да включите "autowrite" вариант, който ви позволява да запишете всички промени автоматично:

Ако редактирате файл, промените, които не искат да се записва автоматично, а след това не забравяйте да изключите тази опция:

РЕДАКТИРАНЕ НА ДРУГА списък на файловете

Можете също да използвате заместващи символи, както е в черупката. Например:

Vim ще се върне в редактирането на първия файл от списъка. Ако текущата файлът е редактиран, преди това се изисква или да запазите промените във файл или да използвате командата байпас ": аргументи" с добавен. за отмяна на всички незапазени промени.

Ако файловете са редактирани?

Ако използвате списък на файловете, Vim установи, че желаете да редактирате всеки файл в списъка. Ако не се редактират файлове, когато излезете от Vim ще покаже съобщение,

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

За да се придвижите бързо между двата файла, използвайте Ctrl- ^ (от клавиатурата на САЩ е символ, намиращ се над символа 6). Например:

Да предположим, че вие ​​сте във файл one.c.

Сега можете two.c. файл Когато натиснете Ctrl- ^ ще се върнем към one.c. Натискането Ctrl- ^ ще ви отведе обратно към two.c. След натискане ще се върне към файла one.c. Ако сега ще въведете командата

вие ще бъдете в three.c файл. Забележете, че Ctrl- ^ командата не променя позицията си в списъка с аргумент, това се прави само за команди като ": Следващата" и ": предишния".

Файлът, който сте редактирали, преди да се нарича "съсед". Ако току-що сте започнали Vim, тогава Ctrl- ^ няма да работи, защото на съседния файл не е определена.

предварително определени МАРКИ

След скокове към друг файл, можете да използвате две предварително определени марки, които могат да бъдат много полезни:

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

Да предположим, че редактирането на "one.txt" файл. Някъде в средата на даден файл, който използвате командата "Х", за да изтриете знака. След това отидете в края на файла с помощта на екипа "G" и да променят екип ": w". След това можете да редактирате няколко други файлове, а след това се върнете към файла "one.txt" с командата ": редактирам one.txt". Ако сега се възползват от `" Vim ще ви отведе до края на файла и `. Ще прехвърля на позицията, в която сте изтрили характер. Дори и след няколко movements`" and`. Вие винаги ще се върне към тези, съхранявани разпоредби, стига да успеят да направят по-нататъшни промени, или да напуснат файла.

Глобал Рейтингс

В Глава 4 обсъдихме как можете да поставите "х" с помощта на екипа на "х" в досието на марка да се движи след това до този момент в използването
"` X "команда. Тази система действа в рамките на един файл. Ако редактирате друг файл, и там на марка "Х", то ще има смисъл само в рамките на файла. По този начин, всеки файл може да има свой собствен набор от марки, с местния контекст.

До сега, ние използвахме маркери с имена, които започват с малка буква. Но ако като име да се използва главна буква? Тези марки също съществуват, но те имат глобален контекст, както и да отидете на такава марка може да бъде от всеки файл. Да предположим, че редактирането на "foo.txt" файл. Отиди до средата на файла ( "50%") и мястото, където F марки:

Сега отивам да редактирате файла "bar.txt" и в него се поставя знак Б на последния ред:

Сега можете да използвате командата "" F "за да преминете към средата на файл и foo.txt на екип" "Б", за да отидете в края на bar.txt файл от който и да е файл.

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

Често е полезно да се мисли за един прост кореспонденция между буквата избран за марката и файла, в който тя се използва. Например, поставете знак в заглавния файл Н, М и С в Makefile в изходния код.

За да видите къде е тази или онази марка, да зададете името й като аргумент на екипа ": марка":

Можете също да укажете няколко аргумента:

Не забравяйте, че за прехода между старите и новите позиции, можете да използвате командата CTRL-O и CTRL-I, без да е необходимо да се настанят белезите.

Обикновено Vim оставя архивираните файлове, но ако го искате, след това въведете достатъчно командата

име на файл с резервно копие е името на оригиналния файл с добавянето на

Например, ако вашият файл е кръстен data.txt, името на архивния файл ще data.txt

Ако не сте доволни, че архивите изчерпване на

можете да промените края с помощта на опции "backupext":

В този случай, вместо data.txt име

за архивиране на името на файла ще бъде използвана data.txt.bak.

Друг важен вариант се нарича "backupdir". Той определя директорията, в която архива ще се съхранява. Стойността по подразбиране, на ток
директория обикновено е най-доброто решение.

забележка:
Ако опцията е "резервна" е изключена, но опцията е "writebackup" е активирана, архивирането все още ще се запази. Въпреки това, той ще бъде премахнат веднага след като писането на даден файл е завършила успешно. Този механизъм се използва като предпазна мярка, за да не загуби оригиналния файл, ако влизането е неуспешен поради една или друга причина (например, липса на дисково пространство, мълния, или нещо друго).

Превод Забележка: Брам казва, че липсата на дисково пространство може да бъде причина за написването на даден файл може да се провали. Странно, но в този контекст, ако вземем предвид, че за резервно копие също се изисква дисково пространство.

ЗАПАЗЕТЕ оригиналния файл

Ако редактирате изходния код, може да искате да запишете файла, преди да се правят каквито и да било промени. Файлът за архивиране ще бъдат презаписани всеки път, когато запишете файла, и затова винаги съдържа предишната версия, а не на оригинала.

За да Vim запази оригиналния файл, изберете "patchmode" опция. За да направите това, трябва да укажете разширението, използван за първоначалното архивиране на оригиналния файл. Например:

Сега, когато започнете да редактирате data.txt на файла, и записва първата част от промените, Vim ще запази оригиналната версия с името "data.txt.orig".
Ако продължите да правите промени в даден файл, Vim ще забележите, че файла "data.txt.orig" вече съществува и да го остави на мира. допълнителни резервни копия
копие на файла ще се нарича "data.txt

"(Или според" backupext "Ви настройки).

Ако оставите стойността на опцията "patchmode" празен (по подразбиране), оригиналния файл, няма да бъде спасен.

Сега обясни как да копирате текст от един файл в друг. Например, започнете да редактирате текста, който има един сегмент, който искате да копирате. Преместете курсора в началото на текста и натиснете "V". Сега, докато в Visual режим, преместете курсора до края на пистата и натиснете "Y". Тази операция копия на избрания текст.

Най-горния параграф е да копирате, въведете следните команди:

Сега отворете файла, в който искате да поставите копирания текст. Преместване на курсора до характера, след който искате да видите част от текст и използвайте "P" за вложки.

Разбира се, за да копирате текст, можете да използвате различни команди. Например, за изолиране на цели редове от текст, отидете в режим на командата Visual "V". Или използвайте CTRL-V, за да изберете команда правоъгълен блок. "Y" команда ви позволява да копирате текущия ред, "попътно" копия на думата под курсора и т.н.

Командата "P" вмъкне текста под курсора. За вложки текста преди курсора, използвайте командата "P". Забележете, че Vim помни това, което копира - цялата линия или блок - и пасти текста по същия начин, по който е бил използван за копиране.

РЕГИСТРИ

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

Регистрирайте е мястото, където Vim магазини текст. Сега ние ще използваме регистрите именувани с до Я, а по-късно ще научите за други регистри. Нека да копирате на предложението на регистър F:

Сега копирате целия тригодишен линия в регистър л:

Номер 3 може да е една и съща точка и в предната част на "л За да копирате блок от текст в регистър Б, използвайте следната команда:.>

Моля, имайте предвид, че посочването на регистъра "б е точно преди команда" Y ". Това е необходимо изискване. Ако поставите препратка към регистъра преди командата" w ", тя не би работил.

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

Можете също да укажете регистъра и изтриване на текст. Този имот може да се използва, за да се движат на текст от едно място на друго. Например, за да се заличат думите в регистър w:

Моля, имайте предвид, че отново индикацията на регистъра отива директно на дистанционното командване "D".

В преписката

За да добавите текст в команден файл може да се използва:

Това ще позволи на текста, за да добавите този файл към "лог" направо от страницата без да се налага да копирате текста в даден файл, отворете файла "лог" и поставете копирания текст. Но това може да се добави само до файла.

За да добавите само няколко линии, изберете ги в Visual режим, преди да даде командата ": напишете". Глава 10 ви научат и други методи за изолиране на определен набор от редове.

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

За да започнете да Vim в само чете режим, използвайте командата

В Unix, същото може да се получи с помощта на командата

Сега можете да видите файла в режим само за четене. Ако се опитате да използвате командата ": w", ще получите съобщение за грешка, и файлът няма да бъде записан.

Ако се опитате да направите промени в досие, открито само за четене, Vim ще покаже предупреждение:

Въпреки това, Vim ще извърши необходимите промени. Например, можете да се преформатира текста за четене лекота.

Ако искате да запазите промените във файл, отворете само за четене, тогава ще трябва да се присъединят към отбора. да Vim за запис във файла.

Ако е необходимо да се забрани напълно промени във файла, а след това да го отворите с командата

В този случай, всички опити за промяна на текста ще се провали. Такъв, например, помощни файлове. Ако се опитате да направите промени, ще получите съобщение за грешка:

Сега, след като направите необходимите промени. искате да запишете файла с ново име. Можете да използвате командата ": SaveAs":

Ако е необходимо да промените името на файла, който редактирате, но по някаква причина не искате да я запазите, докато диска, използвайте командата:

Vim ще отбележи файла като "не се редактира". С други думи, Vim знае, че това не е файла, който започна редактиране. Когато се опитате да напишете файл, може да видите съобщение за грешка:

Това ви предпазва от случайно презаписване на съществуващ файл.