Guida ai marchi Vim

Guida Ai Marchi Vim



I contrassegni Vim sono posizioni specifiche in un file che possono essere impostate con un nome e successivamente restituite chiamandole con il loro nome. La lettera M seguita da un'altra lettera {a-z o A-Z} può essere utilizzata per impostare il segno, e a citazione singola ) «) con il nome del marchio viene utilizzato per ritornare a quel marchio. Si noti che, il minuscolo le lettere vengono utilizzate per impostare segni locali mentre il maiuscolo le lettere vengono utilizzate per impostare il segni globali .

Comprendere i marchi Vim

Vim ti consente di impostare posizioni specifiche in un file, soprattutto se stai lavorando su un file di grandi dimensioni in cui devi spostarti avanti e indietro rapidamente. Questa funzionalità rende eccezionalmente semplice la navigazione in un file con centinaia di righe. Ad esempio, se stai lavorando su un codice Python con 500 righe di codice, potrebbe essere necessario scorrere il file per arrivare a una riga di codice specifica. Ma se imposti i contrassegni nelle posizioni desiderate, puoi spostarti facilmente premendo un paio di tasti.







Bene, la funzionalità dei segni di Vim non si limita alla navigazione, puoi usare i segni anche per eseguire altri comandi, di cui parlerò nelle sezioni successive di questa guida. Esploriamo come impostare e utilizzare i segni in Vim.



Nota: Sto utilizzando la distribuzione Linux (Ubuntu 22.04) e Vim versione 8.2 per le istruzioni contenute in questa guida.



Imposta un segno

Per impostare il contrassegno in Vim, mantieni il cursore nel punto in cui desideri impostare il contrassegno e premi il tasto M chiave , seguito da qualsiasi lettera da UN A Con . Ad esempio, se voglio impostare un segno con il nome della lettera Con poi scriverò mz nella modalità NORMALE.





mz

Esistono diversi modi per impostare un segno in Vim, questa procedura è la più rapida.

Sebbene la procedura sopra menzionata sia ampiamente utilizzata e molto rapida, non si ottiene alcuna indicazione visiva se il contrassegno è stato impostato o meno a meno che non lo si controlli esplicitamente.



Per elencare i segni in Vim, usa il file :segni comando, di cui parlerò nel file Elenco marchi sezione. Tuttavia, è possibile abilitare l'indicazione della pressione dei tasti nella parte inferiore della finestra utilizzando il comando :imposta showcmd.

: impostato mostracmd

Puoi anche usare il segno o il Segno comandi per impostare il segno. Ad esempio, il Con mark può anche essere impostato utilizzando il comando indicato di seguito:

: segnare z

Ogni file Vim può avere segni da UN A Con , ma se imposti un segno Con per una posizione e si utilizza lo stesso nome del marcatore per un'altra posizione, il marcatore precedentemente impostato verrà rimosso (sovrascritto).

Si noti che le lettere maiuscole {A-Z} possono essere utilizzate anche per impostare un segno. I marchi con le lettere maiuscole sono segni globali e basato su file. Discuterò approfonditamente i marchi globali in una sezione separata.

Elenco marchi

Come discusso nella sezione precedente, tutti i marchi creati possono essere facilmente elencati

usando il :segni comando.

: segni

Nell'immagine di output sopra, sono elencati tutti i contrassegni; alcuni sono personalizzati e altri sono predefiniti.

Esistono anche altri metodi per elencare i marchi. Per elencare un marchio specifico, utilizzare il :segni comando con il nome del marchio. Ad esempio, per elencare il marchio Con, Usa il :segna comando:

: segna z

Allo stesso modo, per elencare più marchi, utilizzare il comando :segni :

: segna abz

Dove UN , B, E Con sono nomi di marchi diversi.

I contrassegni all'interno dei file non sono visibili di default e per visualizzarli graficamente esistono vari plugin. I plugin più noti che possono visualizzare i contrassegni in Vim sono MostraMarchi E Firma Vim .

Poiché il plug-in ShowMarks è pieno di errori e non viene aggiornato da molti anni, installerò il file Firma Vim plugin per visualizzare i marchi.

Dopo aver installato il plugin, imposta il segno e il plugin lo mostrerà esplicitamente con il nome come illustrato nell'immagine seguente.

Vai a un segno

Dopo aver impostato il contrassegno, il passaggio successivo è la navigazione tra i contrassegni. Per saltare all'inizio della riga contrassegnata nel buffer corrente, premere il tasto virgoletta singola (') con il nome del marchio {a-z}.

'Con

Per passare alla posizione esatta (riga/colonna) premere il tasto apice inverso (`) con il nome del marchio {a-z}.

`z

Il singolo (') e il backtick (`) possono essere utilizzati anche per saltare i segni globali {A-Z}.

Di seguito è riportata una tabella per la navigazione tra i segni minuscoli:

'' Torna alla linea da cui sei saltato
Torna alla posizione da cui hai saltato
' . /`. Per saltare all'ultima riga/posizione modificata
`[\`] Per saltare all'inizio/alla fine dell'ultimo testo strappato
`<\`> Per saltare all'inizio/fine dell'ultima selezione visiva
[contare]] ' Per saltare alla riga successiva di [contare] il numero di contrassegni dalla posizione corrente del cursore
[contare]]` Per saltare [contare] il numero di marcatori dalla posizione corrente del cursore

È importante notare che i tasti di navigazione sopra menzionati sono per i segni minuscoli.

La discussione sui marchi Vim è incompleta se non discutiamo il file salta E jumplist . IL jumplist memorizza i salti effettuati all'interno del file o tra i file, siano essi segni o normali salti predefiniti di Vim.

Per elencare tutti i salti, utilizzare :salta comando e per eliminare tutti i salti utilizzare il comando :clearjumps. Per navigare tra i salti, utilizzare ctrl+o E ctrl+i chiavi.

Nota: Prima di eliminare i salti, tieni presente che l'eliminazione dei salti può influire sulla cronologia di navigazione.

Trovo che usare i salti sia più comodo per spostarsi tra i segni. Per prima cosa elimino tutti i salti perché se non lo faccio potrei ritrovarmi in altri file. Quindi registro i salti dei segni nel file jumplist file utilizzando la virgoletta singola o il backtick. Una volta terminato, utilizzo il file ctrl+o E ctrl+i tasti per saltare rapidamente attraverso i segni.

Per ulteriore assistenza sulla navigazione tra i marchi, utilizzare il file :aiuto segni E :aiuto jumplist comandi.

Segni globali

I segni globali in Vim sono impostati per saltare tra i file. A differenza dei segni locali, i segni globali sono impostati con lettere maiuscole e possono essere utilizzati in tutti i file.

Comprendiamo l'importanza dei marchi globali con l'aiuto di un esempio. Supponendo che tu stia lavorando su un file di codice e desideri accedere a una funzione specifica in quel file. Quindi, invece di aprire il file, digita semplicemente il segno globale impostato e il file verrà aperto con la posizione specifica.

Per impostare il contrassegno globale, utilizzare il comando mark M seguito da una lettera maiuscola {A-Z}.

mZ

Ora puoi accedere a questo marchio da qualsiasi file. Per saltare al contrassegno globale, utilizzare la stessa procedura menzionata nel file Vai a un segno sezione. Verrà aperto il file contenente la marca, chiudendo quello corrente.

'CON

Allo stesso modo, per andare alla posizione esatta, utilizzare il backtick con il nome del segno (`Z).

Segni numerati

I contrassegni numerati {0-9} vengono utilizzati per memorizzare la posizione corrente del cursore nel file viminfo file quando si esce dal file. I contrassegni numerati sono speciali e non possono essere impostati direttamente. Questi contrassegni vengono generati automaticamente nel file viminfo file per tenere traccia delle modifiche nel file quando si esce dal file. Ad esempio, quando esci da qualsiasi file, il file viminfo il file salva le informazioni sull'ultima posizione del cursore nei contrassegni numerati come 0, 1, 2 e così via.

È possibile elencare i contrassegni numerati utilizzando :segni comando.

Per ulteriori informazioni sui segni numerati di Vim, utilizzare il file :aiuto viminfo-file-marks comando.

Eliminazione dei marchi

Esistono vari metodi per eliminare tutti i segni, segni specifici o un intervallo di segni.

Per eliminare i contrassegni, il :delmarks O :delm è possibile utilizzare i comandi.

:delmarks z Per eliminare un contrassegno specifico, ad es. Con
:delmark x-z Per eliminare i segni da X A Con tale da eliminare X , E , E Con
:delmarks abxy Cancellare UN , B , X, E E segni
:delmarks zZ Cancellare Con E CON segni

Per cancellare tutti i simboli {a-z} minuscoli, utilizzare :delmarks! comando. Per cancellare i simboli in maiuscolo e i numeri, è necessario utilizzare :delmark dalla A alla Z E :delmark 0-9 comandi. Se vuoi cancellare i simboli {A-Z} maiuscoli, usa :delmark dalla A alla Z . I contrassegni numerati possono anche essere cancellati utilizzando lo stesso comando.

Funzionalità avanzate

Poiché i segni sono posizioni, possono essere utilizzati per modificare il file anche in Vim. Ad esempio, per eliminare, copiare o modificare qualcosa da un marchio specifico a un altro marchio è possibile utilizzare il rispettivo comando con la menzione del nome del marchio.

Nella tabella seguente, il Con viene utilizzato come nome del marchio.

D ' z/d`z Elimina dalla riga corrente alla riga contrassegnata successiva / Elimina dalla posizione corrente fino alla posizione contrassegnata esatta successiva
C ' z/c`z Cambia il testo dalla riga corrente alla riga successiva contrassegnata / Cambia il testo dalla posizione corrente fino alla successiva posizione contrassegnata esatta
E ' z/y`z Copia (strappa) il testo dalla riga corrente alla successiva riga contrassegnata/Copia il testo dalla posizione corrente fino alla successiva esatta posizione contrassegnata

Se vuoi eseguire a in linea operazione, quindi richiamare il segno utilizzando le virgolette singole ('), e se si desidera eseguire a carattere operazione, utilizzare il backtick (`).

Allo stesso modo, se desideri eliminare, modificare o rimuovere qualsiasi cosa tra due segni, puoi utilizzare la seguente sintassi del comando.

: 'X,' E < d, c o y >

Ad esempio, se desideri eliminare tutte le righe da mark 'X contrassegnare 'E Usa il : ' X, ' e d comando.

Vedere il seguente file con i contrassegni B E C .

Per rimuovere tutte le linee dal segno B al C (incluso), eseguire il comando indicato di seguito:

: 'B,' CD

Differenza tra segni minuscoli e segni maiuscoli

Sia i marchi minuscoli che quelli maiuscoli hanno funzionalità distinte.

I segni minuscoli vengono utilizzati all'interno dei file e possono essere impostati dall'alfabeto UN all'alfabeto Con in qualsiasi file. Sono univoci per i file in cui sono stati creati. È possibile accedervi e gestirli all'interno dei file in cui vengono creati. I contrassegni maiuscoli {A-Z} invece sono globali e non possono essere impostati con lo stesso nome. È possibile accedere a questi contrassegni da qualsiasi file utilizzando l'apostrofo (') o il backtick (`).

La navigazione e il processo di eliminazione dei simboli minuscoli e maiuscoli sono simili. Ma i segni minuscoli hanno più comandi di navigazione a causa delle loro impostazioni nel file.

Un'altra cosa importante è che i contrassegni non vengono eliminati all'uscita dal file o dalla sessione. Quindi, se hai impostato un contrassegno, alla riapertura i contrassegni del file rimarranno intatti.

Foglio informativo di Vim Marks

Le operazioni chiave necessarie per utilizzare la funzionalità dei segni nell'editor Vim sono menzionate nell'immagine seguente.

Conclusione

I contrassegni nell'editor Vim sono posizioni personalizzate per navigare in un file con centinaia di righe. Esistono due tipi di segni, segni maiuscoli e minuscoli. I segni minuscoli sono utili per navigare all'interno del file. Per navigare tra i file vengono utilizzati i segni maiuscoli. Per fissare il segno, la lettera M viene utilizzato con un'altra lettera minuscola o maiuscola {a-z, A-Z}. I contrassegni di qualsiasi file possono essere elencati utilizzando il file :segni comando. Per eliminare un segno :delmarks O :delm vengono utilizzati i comandi con il nome del contrassegno.