Ghid pentru Vim Marks

Ghid Pentru Vim Marks



Marcajele Vim sunt locații specifice dintr-un fișier care pot fi setate cu un nume și ulterior returnate prin apelarea lor după numele lor. Scrisoarea m urmată de o altă literă {a-z sau A-Z} poate fi folosită pentru a seta marcajul și a ghilimele unice ) ‘) cu numele mărcii este folosit pentru a reveni la marca respectivă. Rețineți că, litere mici literele sunt folosite pentru a seta mărci locale in timp ce majuscule literele sunt folosite pentru a seta mărci globale .

Înțelegerea Vim Marks

Vim vă permite să setați anumite poziții într-un fișier, mai ales dacă lucrați la un fișier mare în care trebuie să vă deplasați rapid înainte și înapoi. Această caracteristică face navigarea unui fișier cu sute de linii excepțional de simplă. De exemplu, dacă lucrați la un cod Python cu 500 de linii de cod, atunci vi se poate solicita să parcurgeți fișierul pentru a ajunge la o anumită linie de cod. Dar dacă setați marcaje în locațiile dorite, atunci vă puteți deplasa cu ușurință apăsând câteva taste.







Ei bine, funcționalitatea Vim marks nu se limitează la navigare, puteți folosi marcaje pentru a executa și alte comenzi, despre care voi discuta în secțiunile ulterioare ale acestui ghid. Să explorăm cum să setăm și să folosim marcajele în Vim.



Notă: Folosesc distribuția Linux (Ubuntu 22.04) și versiunea Vim 8.2 pentru instrucțiunile din acest ghid.



Setați un marcaj

Pentru a seta marcajul în Vim, mențineți cursorul acolo unde doriți să setați marcajul și apăsați tasta m cheie , urmată de orice scrisoare de la A la Cu . De exemplu, dacă vreau să setez un marcaj cu numele literei Cu apoi voi tasta mz în modul NORMAL.





mz

Există mai multe moduri de a seta un marcaj în Vim, această procedură este cea mai rapidă.

În timp ce procedura menționată mai sus este utilizată pe scară largă și foarte rapidă, totuși, nu obțineți nicio indicație vizuală despre dacă marca a fost stabilită sau nu, decât dacă îl verificați în mod explicit.



Pentru a enumera mărcile în Vim, utilizați :marke comanda, despre care o voi discuta în Listează mărcile secțiune. Cu toate acestea, puteți activa indicația de apăsare a tastei în partea de jos a ferestrei folosind :set showcmd.

: a stabilit showcmd

De asemenea, puteți utiliza marcă sau marcă comenzi pentru a seta marcajul. De exemplu, cel Cu marcajul poate fi setat și folosind comanda de mai jos:

: marca z

Fiecare fișier Vim poate avea semne de la A la Cu , dar dacă setați un marcaj Cu pentru o poziție și folosiți același nume de marcaj pentru o altă poziție, marcajul setat anterior va fi eliminat (suprascris).

Rețineți că literele mari {A-Z} pot fi, de asemenea, folosite pentru a seta un marcaj. Semnele cu litere mari sunt mărci globale și pe baza fișierelor. Voi discuta în detaliu notele globale într-o secțiune separată.

Listează mărcile

După cum sa discutat în secțiunea anterioară, toate mărcile create pot fi enumerate cu ușurință

folosind :marke comanda.

: semne

În imaginea de ieșire de mai sus, toate marcajele sunt listate; unele sunt personalizate, iar altele sunt implicite.

Există și alte metode de a enumera mărcile. Pentru a enumera un anumit marcaj, utilizați :marke comanda cu numele mărcii. De exemplu, pentru a enumera marca Cu, folosește :marks comanda:

: marchează z

În mod similar, pentru a enumera mai multe mărci, utilizați :marke :

: marca abz

Unde A , b, și Cu sunt nume de mărci diferite.

Semnele din fișiere nu sunt vizibile implicit și pentru a le vizualiza grafic, există diverse plugin-uri. Pluginurile binecunoscute care pot afișa semne în Vim sunt ShowMarks și Semnătura Vim .

Deoarece pluginul ShowMarks este plin de erori și nu a fost actualizat de mulți ani, voi instala Semnătura Vim plugin pentru a vizualiza semnele.

După instalarea pluginului, setați marcajul, iar pluginul îl va afișa în mod explicit cu numele, așa cum este ilustrat în imaginea următoare.

Sari la un Mark

După setarea marcajului, următorul pas este navigarea marcajelor. Pentru a sări la începutul liniei marcate în tamponul curent, apăsați tasta ghilimele simple (‘) cu numele mărcii {a-z}.

'Cu

Pentru a sări la locația exactă (rând/coloană), apăsați tasta backtick (`) cu numele mărcii {a-z}.

`z

Single (‘) și backtick (`) pot fi, de asemenea, folosite pentru a sări marcajele globale {A-Z}.

Un tabel de navigare prin semnele minuscule este menționat mai jos:

'' Sari înapoi la linia de unde ai sărit
Sari înapoi la poziția de unde ai sărit
' . /`. Pentru a sări la ultima linie/poziție editată
`[\`] Pentru a sări la începutul / sfârșitul ultimului text smuls
`<\`> Pentru a sări la începutul / sfârșitul ultimei selecții vizuale
[numara]] ' Pentru a sări la următoarea linie de [numărare] numărul de semne de la poziția curentă a cursorului
[numărare]]` Pentru a sări [număra] numărul de semne de la poziția curentă a cursorului

Este important de reținut că tastele de navigare menționate mai sus sunt pentru semne cu litere mici.

Discuția despre mărcile Vim este incompletă dacă nu discutăm despre salturi și jumplist . The jumplist stochează salturile care sunt făcute în fișier sau peste fișiere, indiferent dacă sunt mărci sau salturi implicite Vim normale.

Pentru a enumera toate salturile, utilizați :sărituri comanda și pentru a șterge toate salturile, utilizați comanda :clearjumps. Pentru a naviga prin salturi, utilizați ctrl+o și ctrl+i chei.

Notă: Înainte de a șterge săriturile, rețineți că ștergerea salturilor poate afecta istoricul de navigare.

Mi se pare mai convenabil folosirea salturilor pentru a trece prin semne. În primul rând, șterg toate salturile pentru că, dacă nu fac asta, s-ar putea să ajung în alte fișiere. Apoi înregistrez salturi de marcaj în jumplist fișier folosind ghilimele simple sau backtick. Odată terminat, folosesc ctrl+o și ctrl+i taste pentru a sari rapid printre semne.

Pentru mai mult ajutor despre navigarea marcajelor, utilizați : semne de ajutor și :jumplist de ajutor comenzi.

Marci globale

Marcajele globale din Vim sunt setate să sară între fișiere. Spre deosebire de mărcile locale, mărcile globale sunt setate cu majuscule și pot fi utilizate în fișiere.

Să înțelegem importanța mărcilor globale cu ajutorul unui exemplu. Presupunând că lucrați la un fișier de cod și doriți să accesați o anumită funcție din acel fișier. Deci, în loc să deschideți fișierul, introduceți pur și simplu marcajul global setat, iar fișierul va fi deschis cu locația specifică.

Pentru a seta marcajul global, utilizați comanda mark m urmată de o majusculă {A-Z}.

mZ

Acum, puteți accesa acest marcaj din orice fișier. Pentru a trece la marcajul global, utilizați aceeași procedură menționată în Sari la un Mark secțiune. Se va deschide fișierul care conține marcajul, închizându-l pe cel curent.

'CU

În mod similar, pentru a merge la locația exactă, utilizați backtick cu numele marcajului (`Z).

Semne numerotate

Semnele numerotate {0-9} sunt folosite pentru a stoca poziția curentă a cursorului în viminfo fișier când părăsiți fișierul. Semnele numerotate sunt speciale și nu pot fi setate direct. Aceste mărci sunt generate automat în viminfo fișier pentru a urmări modificările din fișier când părăsiți fișierul. De exemplu, când părăsiți orice fișier, fișierul viminfo fișierul salvează ultimele informații despre poziția cursorului în semnele numerotate, cum ar fi 0, 1, 2 și așa mai departe.

Puteți enumera marcajele numerotate folosind :marke comanda.

Pentru mai multe informații despre mărcile numerotate Vim, utilizați :help viminfo-file-marks comanda.

Ștergerea mărcilor

Există diferite metode pentru a șterge toate mărcile, mărcile specifice sau o serie de mărci.

Pentru a șterge marcajele, :delmarks sau :delm pot fi folosite comenzi.

:delmarks z Pentru a șterge un anumit marcaj, de exemplu, Cu
:delmarks x-z Pentru a șterge mărcile din X la Cu astfel încât ștergerea X , și , și Cu
:delmarks abxy A sterge A , b , X, și și semne
:delmarks zZ A sterge Cu și CU semne

Pentru a șterge toate semnele {a-z} minuscule, utilizați :delmarks! comanda. Pentru a șterge semnele majuscule și numerele, trebuie să utilizați :delmarks A-Z și :delmarks 0-9 comenzi. Dacă doriți să ștergeți semnele majuscule {A-Z}, utilizați :delmarks A-Z . Semnele numerotate pot fi de asemenea șterse folosind aceeași comandă.

Caracteristici avansate

Deoarece semnele sunt locații, ele pot fi folosite și pentru editarea fișierului în Vim. De exemplu, pentru a șterge, a copia sau a schimba ceva dintr-un anumit marcaj în altul, puteți folosi comanda respectivă cu menționarea numelui mărcii.

În tabelul următor, Cu este folosit ca nume de marca.

d ' z / d`z Ștergeți de la linia curentă la următoarea linie marcată / Ștergeți de la poziția curentă până la următoarea poziție exactă marcată
c ' z / c`z Schimbați textul de la linia curentă la următoarea linie marcată / Schimbați textul din poziția curentă până la următoarea poziție exactă marcată
și ' z / y`z Copiați (strângeți) textul de pe linia curentă pe următoarea linie marcată / Copiați textul din poziția curentă până la următoarea poziție exactă marcată

Dacă doriți să efectuați o linewise operație, apoi apelați marcajul folosind ghilimele simple (‘), iar dacă doriți să efectuați a din punct de vedere al caracterului operațiune, utilizați backtick (`).

În mod similar, dacă doriți să ștergeți, să modificați sau să smulgeți ceva între două semne, atunci puteți utiliza următoarea sintaxă a comenzii.

: 'X,' și < d,c sau y >

De exemplu, dacă doriți să ștergeți toate liniile din marcaj 'X a marca 'și folosește : ' X, ' y d comanda.

Vedeți următorul fișier cu semne b și c .

Pentru a elimina toate liniile de pe marcaj b la c (inclusiv), executați comanda dată mai jos:

: 'b,' c d

Diferența dintre semnele cu litere mici și semnele cu majuscule

Atât semnele litere mici, cât și cele mari au funcționalități distincte.

Semnele mici sunt folosite în fișiere și pot fi setate din alfabet A la alfabet Cu în orice dosar. Acestea sunt unice pentru fișierele în care au fost create. Pot fi accesate și gestionate în fișierele în care sunt create. Pe de altă parte, semnele majuscule {A-Z} sunt globale și nu pot fi setate cu același nume. Aceste semne pot fi accesate din orice fișier folosind apostroful (‘) sau backtick (`).

Navigarea și procesul de ștergere a semnelor cu litere mici și mari sunt similare. Dar semnele mici au mai multe comenzi de navigare din cauza setărilor lor în fișier.

Un alt lucru important este că semnele nu se șterg la ieșirea din fișier sau sesiune. Deci, dacă ați setat un marcaj, atunci la redeschidere, marcajele fișierului vor rămâne intacte.

Vim Marks Cheat Sheet

Operațiunile cheie de care aveți nevoie pentru a utiliza funcția de marcaje din editorul Vim sunt menționate în imaginea următoare.

Concluzie

Semnele din editorul Vim sunt poziții personalizate pentru a naviga într-un fișier cu sute de linii. Există două tipuri de semne, semne mari și mici. Marcajele minuscule sunt utile în navigarea în interiorul fișierului. Pentru a naviga prin fișiere, sunt folosite semne mari. Pentru a seta marca, litera m este folosit cu o altă literă mică sau mare {a-z, A-Z}. Semnele oricărui fișier pot fi listate folosind :marke comanda. Pentru a șterge un marcaj :delmarks sau :delm sunt folosite comenzi cu numele marcajului.