Note de administrator împrăștiate - editarea de mai multe fișiere

MANUAL VIM - de Bram Moolenaar

Editarea fișierelor multiple

Până în prezent ați rulat Vim pentru fiecare fișier pe care ai nevoie pentru a edita. Există o cale mai ușoară. Pentru a începe editarea un alt fișier, utilizați comanda

În loc de „foo.txt“ puteți scrie orice nume de fișier dorit. Vim va închide fișierul curent și să deschideți unul nou. Dacă fișierul curent conține modificări nesalvate, Vim va imprima un mesaj de eroare și nu se va deschide un nou fișier:

observaţie:
La începutul fiecărui mesaj de eroare, Vim pune un număr de eroare. Dacă nu înțeleg sensul mesajului, sau motivele care au condus la emiterea de mesaje, uita-te apoi în sistemul de ajutor la acest număr. De exemplu, în acest caz. ajutor E37

În acest caz, aveți o alternativă. Puteți, de exemplu, salvați fișierul cu comanda

În plus, este de asemenea posibil de a forța Vim să ignore modificările efectuate cu ajutorul controalelor ocolesc simbolul (!):

Dacă doriți să editați un alt fișier încă nu doriți să salvați modificările în fișierul curent, puteți „ascunde“ fișierul curent:

Vim poate fi pornit cu indicarea listei de fișiere pentru editare. De exemplu:

Această comandă pornește Vim și indică faptul că doriți să editați fișierele listate. După pornirea Vim va afișa primul fișier. Odată ce ați terminat cu fișierul, puteți trece la următoarea cu comanda

Dacă fișierul curent conține modificări nesalvate, Vim va da o eroare și refuză să execute comanda „: next“, la fel ca în cazul precedent, cu echipa „: edita“. Pentru a anula modificările, în acest caz, va trebui să utilizați comanda

Cel mai adesea, este necesar pentru a salva modificările și apoi se trece la fișierul următor. În acest scop, există o comandă specială:

Aceasta comanda face același lucru, că două comenzi consecutive

Pentru a vedea ce fișier în lista de argumente pe care îl editați, uita-te la bara de titlu. În ea trebuie să se demonstreze că ceva de genul „(2 din 3)“. Acest lucru înseamnă că editați al doilea fișier din trei.

Pentru a vedea o listă de fișiere, utilizați comanda:

Este o abreviere pentru cuvântul englezesc „argumente“ (argumente). Ieșirea ar putea arata astfel:

Aceasta este o listă de fișiere pe care le rulați Vim. Fișierul pe care îl editați în acest moment, este prezentată în paranteze.

Derulezi lista argumentelor

Pentru a reveni la fișierul anterior, utilizați comanda

Această comandă funcționează în același mod ca și comanda „: următoarea“, dar în sens invers. Există, de asemenea, o scurtă comandă pentru a salva modificările înainte de
du-te la fișierul anterior:

Pentru a merge la ultimul fișier din listă, utilizați comanda

și pentru a trece la primul fișier - comandă

Între timp, echipa „: wlast“ și „: wfirst“ nu sunt furnizate.

Cu comenzile „: următoare“ și „: anterioară“, puteți utiliza un prefix numeric. De exemplu, pentru a merge mai departe pe cele două fișiere, utilizați

ÎNREGISTRAREA automată a modificărilor

Pentru a evita obtinerea de mesaje de eroare atunci când vă mutați între fișiere, trebuie să vă amintiți pentru a salva modificările echipei „: a scrie“. Dacă sunteți sigur că doriți întotdeauna să salvați fișierul modificat, puteți include opțiunea „autowrite“, care vă permite să salvați automat toate modificările:

Dacă editați un fișier, modificările care nu doresc să fie salvate în mod automat, atunci nu uitați să dezactivați această opțiune:

EDITAREA UN ALT LISTA DOSARELOR

De asemenea, puteți utiliza metacaractere, la fel ca în coajă. De exemplu:

Vim va reveni la editarea primului fișier din listă. Dacă fișierul curent a fost modificat, înainte de a fi necesar sau salva modificările într-un fișier sau de a folosi comanda de by-pass „:! Args“ cu adaos. pentru a anula toate modificările nesalvate.

În cazul în care au fost editate dosarele?

Dacă utilizați o listă de fișiere, Vim constată că doriți să editați fiecare fișier din listă. Dacă nu modificați toate fișierele atunci când ieșiți Vim va afișa un mesaj

Acest lucru înseamnă că aveți mai multe 46 de fișiere din listă, care nu a așteptat rândul lor. Într-o astfel de situație, da doar de ieșire de comandă din nou, și va funcționa ca de obicei (cu condiția ca celelalte echipe nu s-au dat între cele două comenzi de ieșire).

Pentru a vă deplasa rapid între cele două fișiere, utilizați Ctrl- ^ (pe tastatura SUA este simbolul situat deasupra simbolului 6). De exemplu:

Să presupunem că sunteți într-un fișier one.c.

Acum te two.c. fișier Când apăsați Ctrl- ^ te va reveni la one.c. Apăsând ctrl- ^ te va duce înapoi la two.c. presă ulterioară va reveni la fișierul one.c. Dacă acum va intra comanda

va fi în fișierul three.c. Observați că ctrl- ^ comanda nu se schimbă poziția în lista de argumente, acest lucru se face doar la comenzi, cum ar fi „: next“ și „:“ anterioare.

Fișierul pe care ați editat înainte de a fi numit „vecin.“ Dacă ați început doar Vim, atunci ctrl- ^ nu va funcționa, deoarece fișierul vecin nu este definit.

REPERE predefinite

După saltul de la un alt fișier, puteți utiliza două marcaje predefinite, care pot fi foarte utile:

Aceasta va duce la poziția în care cursorul a fost atunci când ai plecat fișierul. O altă marcă, care este amintit, de asemenea, ia act de poziția acestuia, modificările făcute de tine:

Să presupunem că editați „one.txt“ fișier. Undeva, în mijlocul unui fișier pe care îl utilizați comanda „x“, pentru a șterge caracterul. Apoi te duci la sfârșitul fișierului cu ajutorul echipei „G“ și să păstreze schimbarea echipei „: w“. Apoi, editați mai multe alte fișiere, și apoi reveniți la fișierul „one.txt“ cu comanda „: edita one.txt“. Dacă acum să profite de `„Vim vă va duce la sfârșitul fișierului, și `. Va transfera la poziția în care ați șters caracterul. Chiar și după mai multe movements`“ and`. va reveni întotdeauna la acele dispoziții stocate, atâta timp cât nu efectuați modificări suplimentare sau lăsați fișierul.

RATINGURI GLOBAL

În capitolul 4 am discutat despre modul în care puteți pune „x“ cu ajutorul echipei „mx“ în fișierul marca pentru a trece apoi la acel punct în utilizarea
"X`" comanda. Acest sistem funcționează într-un singur fișier. Dacă editați un alt fișier, și locul acolo marca „x“, acesta va avea sens doar în cadrul fișierului. Astfel, fiecare fișier poate avea propriul set de mărci, cu contextul local.

Până în prezent, am folosit markeri cu nume care încep cu o literă mică. Dar dacă un nume de a utiliza o majusculă? Aceste semne există, de asemenea, dar ele au un context global, și pentru a merge la o astfel de marcă poate fi de orice fișier. Să presupunem că editați „foo.txt“ fișier. Du-te la mijlocul fișierului ( „50%“) și locul în care marca F:

Acum, du-te pentru a edita fișierul „bar.txt“ și locul în ea un semn B de pe ultima linie:

Acum puteți utiliza comanda „„F“pentru a sări la mijlocul fișierului și foo.txt echipa„“B“ pentru a sări la sfârșitul fișierului bar.txt din orice fișier.

marca globală persistă, atâta timp cât nu pune în nici un alt loc. Cu alte cuvinte, dacă pui un semn în fișierul la nivel mondial, chiar și după mai multe ore, va fi capabil să se întoarcă la această marcă.

Adesea este util să se gândească la o simplă corespondență între litera selectată pentru marca și fișierul în care este utilizat. De exemplu, un marcaj în fișierul antet H, M și C în Makefile în codul sursă.

Pentru a vedea unde este aceasta sau că marca, cere numele ei ca un argument pentru echipă „: mărci“:

Puteți specifica, de asemenea, mai multe argumente:

Nu uitați că pentru tranziția între pozițiile vechi și noi, puteți utiliza, de asemenea, comanda CTRL-O și CTRL-I fără a fi nevoie de a se adapta mărcilor.

În mod normal, Vim lasă fișierele de rezervă, dar dacă doriți, apoi introduceți suficient comanda

numele fișierului de rezervă este numele fișierului original, cu adaos de

De exemplu, în cazul în care fișierul este numit data.txt, numele fișierului de rezervă va data.txt

Dacă nu sunteți mulțumit de faptul că backup rula pe

puteți schimba capătul cu ajutorul opțiunilor „backupext“:

În acest caz, în loc de numele data.txt

pentru numele fișierului de rezervă va fi utilizat data.txt.bak.

O altă opțiune importantă este numită „backupdir“. Acesta definește directorul în care copia de rezervă va fi stocat. Valoarea implicită, curentul
director este, de obicei, cea mai bună soluție.

observaţie:
Dacă opțiunea este „de rezervă“ este dezactivată, dar opțiunea „writebackup“ este activat, copia de rezervă va persista în continuare. Cu toate acestea, aceasta va fi eliminată imediat ce scrierea unui fișier este finalizat cu succes. Acest mecanism este utilizat ca o măsură de precauție, pentru a nu pierde fișierul original, în cazul în care intrarea este fără succes pentru un motiv sau altul (de exemplu, lipsa de spațiu pe disc, fulgere, sau orice altceva).

Traducere Notă: Bram spune că lipsa de spațiu pe disc poate fi un motiv pentru scrierea unui fișier poate să nu reușească. În mod ciudat, în acest context, dacă luăm în considerare faptul că pentru o copie de rezervă este, de asemenea, nevoie de spațiu pe disc.

SAVE fișierul original

Dacă modificați codul sursă, poate doriți să salvați fișierul înainte de a va face orice modificări. Fișierul de rezervă va fi suprascrise de fiecare dată când salvați fișierul, și, prin urmare, conține întotdeauna versiunea anterioară, mai degrabă decât originalul.

Pentru a Vim păstra fișierul original, selectați „patchmode“ opțiune. Pentru a face acest lucru, trebuie să specificați extensia utilizată pentru backup original al fișierului original. De exemplu:

Acum, când începe să editați data.txt fișier, și se înregistrează prima parte a modificărilor, Vim va păstra versiunea originală cu numele „data.txt.orig“.
Dacă continuați să modificați un fișier, Vim va observa că fișierul „data.txt.orig“ există deja și lăsați-l în pace. backup-uri suplimentare
copie a fișierului va fi numit „data.txt

„(Sau în funcție de setările«backupext»).

Dacă lăsați valoarea opțiunii „patchmode“ gol (implicit), fișierul original nu va fi salvat.

Acum vom explica cum de a copia text dintr-un fișier la altul. De exemplu, începe pentru a edita textul care are un segment pe care doriți să le copiați. Mutați cursorul la începutul textului și apăsați „v“. Acum, în timp ce în modul vizual, mutați cursorul la capătul pistei și apăsați „y“. Această operație copiază textul selectat.

Paragraful de mai sus este de a copia, introduceți următoarele comenzi:

Acum, deschide fișierul în care doriți să lipiți textul copiat. Mutați cursorul la caracterul după care doriți să vedeți o bucată de text și de a folosi „p“ pentru inserțiilor.

Desigur, pentru a copia text, puteți utiliza diferite comenzi. De exemplu, pentru izolarea liniilor întregi de text, du-te la modul de comandă vizuală „V“. Sau utilizați comanda CTRL-V pentru a selecta un bloc dreptunghiular. „Y“ comandă vă permite să copiați linia curentă, „girație“ copii cuvântul de sub cursor, etc.

Comanda „p“ paste textul de sub cursor. Pentru inserturi textul înaintea cursorului, utilizați comanda „P“. Observați că Vim amintește ceea ce copiați - linie întreagă sau un bloc - și paste textul în același mod în care a fost utilizat pentru copiere.

REGISTRE

Dacă trebuie să copiați mai multe fragmente de text dintr-un fișier la altul, se deplasează între fișiere și modificările de înregistrare poate dura o lungă perioadă de timp. Pentru a evita acest lucru, copiați fiecare bucată de text într-un registru separat.

Registrul este locul în care Vim magazine de text. Acum vom folosi registrele cu numele a la z, în timp ce mai târziu veți învăța despre alte registre. Să copiați propunerea în registru f:

Acum, copiați întregul trei rânduri în registru l:

Numărul 3 ar putea fi același punct și în fața „l Pentru a copia un bloc de text la registru b, utilizați următoarea comandă:.>

Vă rugăm să rețineți că indicația registrului „b este chiar înainte de comanda“ y „Aceasta este o cerință necesară. În cazul în care ați pus o trimitere la registrul înainte de a comanda“ w“, nu ar fi lucrat.

Acum puteți insera conținutul registrelor în text, în orice ordine. În acest caz, conținutul registrului rămân neschimbate, atâta timp cât nu copiați acest registru orice altceva. Astfel, operațiunea inserând poate fi repetată orice număr de ori.

Puteți specifica, de asemenea, registru și a șterge textul. Această proprietate poate fi folosit pentru a muta text dintr-un loc în altul. De exemplu, pentru a șterge cuvintele din registru w:

Vă rugăm să rețineți din nou că indicarea registrului merge direct la distanță de comandă „d“.

Se adaugă la FILE

Pentru a adăuga text într-un fișier de comandă poate fi utilizat:

Acest lucru va permite textul pentru a adăuga acest fișier la fișierul „logfile“, fără a fi nevoie să copiați textul într-un fișier, deschideți fișierul „logfile“ și inserați textul copiat. Dar acest lucru se poate adăuga numai la dosar.

Pentru a adăuga doar câteva linii, selectați-le în modul vizual înainte de a da comanda „: a scrie“. Capitolul 10 ai afla, de asemenea și alte metode pentru izolarea unui interval definit de rânduri.

Uneori, trebuie doar să se uite la conținutul fișierului, fără intenția de a face modificări. Pentru a evita tastarea accidentală a unei comenzi „: w“, care va suprascrie fișierul, puteți deschide fișierul în modul read-only.

Pentru a porni Vim în numai citire-mode, folosiți comanda

Pe Unix, același lucru poate fi obținut cu comanda

Acum puteți vizualiza fișierul în modul read-only. Dacă încercați să utilizați comanda „: w“, veți primi un mesaj de eroare și fișierul nu va fi înregistrat.

Dacă încercați să modificați un fișier deschis pentru citire numai, Vim va afișa un avertisment:

Cu toate acestea, Vim va efectua modificările necesare. De exemplu, puteți reformata textul pentru citirea ușurință.

Dacă doriți să salvați modificările într-un fișier, deschide un read-only, atunci trebuie să se alăture unei echipe. pentru a face Vim pentru a scrie fișierul.

Dacă trebuie să interzică complet modificări la fișierul, apoi deschideți-l cu comanda

În acest caz, toate încercările de a modifica textul va eșua. Astfel, de exemplu, fișierele de ajutor. Dacă încercați să faceți modificări, veți primi un mesaj de eroare:

Acum, după efectuarea modificărilor necesare. doriți să salvați fișierul cu un nume nou. Puteți folosi comanda „: saveas“:

Dacă trebuie să modificați numele fișierului pe care îl editați, dar din anumite motive nu doresc să-l păstrați, atâta timp cât discul, utilizați comanda:

Vim va marca fișierul ca „nu a editat“. Cu alte cuvinte, Vim știe că acest lucru nu este fișierul pe care a început editarea. Când încercați să scrie un fișier, este posibil să vedeți un mesaj de eroare:

Acest lucru previne suprascrierea accidental un fișier existent.