Domanda

Sono sicuro che ci usato per essere un plugin per questo genere di cose, ma ora che ne ho bisogno, io non riesco a trovarlo (naturalmente), quindi mi limiterò a chiedere piacevole e semplice.

Qual è il modo più semplice per scegliere tra parentesi, o citazioni, o in generale un elenco dei corrispondenti caratteri?

   write ( *, '(a)' ) 'Computed solution coefficients:'

Per esempio, ecco mi piacerebbe selezionare (a), o Computed solution coefficients:.

Non mi interessa più righe, a soli casi che si verificano su una riga.

È stato utile?

Soluzione

Usare qualsiasi chiave che si desidera ottenere all'interno delle parentesi di navigazione, quindi è possibile utilizzare sia yi( o yi) per copiare tutto all'interno delle parentesi corrispondenti. Questo funziona anche con parentesi quadre (ad esempio yi]) e parentesi graffe. Oltre a y, è anche possibile eliminare o modificare il testo (ad esempio ci), di]).

Ho provato questo con doppie e singole apici e sembra funzionare anche lì. Per i dati, lo faccio:

write (*, '(a)') 'Computed solution coefficients:'

Sposta il cursore a C, quindi digitare yi'. Spostare il cursore su una riga vuota, ha colpito p, e ottenere

Computed solution coefficients:

Come notato CMS , questo funziona per la selezione della modalità visiva, come pure -. basta usare vi), vi}, vi', etc

Altri suggerimenti

Per scegliere tra le virgolette singole solito faccio un vi' ( "selezionare apici interni").

all'interno di un blocco tra parentesi, io uso vib ( "selezionare blocco interno")

All'interno di un blocco di parentesi graffe è possibile utilizzare viB ( "capitale B")

Per effettuare le selezioni "inclusive" (selezionare anche le virgolette, parentesi o parentesi graffe) è possibile utilizzare a al posto di i.

Si può leggere di più circa l'oggetto Testo selezioni sul manuale o :help text-objects da vim.

Questo metodo di selezione è incorporato e ben coperto nella guida in Vim. Si estende su tag XML e altro ancora.

Vedere :help text-objects.

Per la selezione tra virgolette semplici usare vi'.

Per la selezione all'interno di utilizzo tra parentesi vi(.

Usare le frecce o hjkl per raggiungere una delle espressioni bracketing, quindi v per selezionare la modalità visiva (cioè selezionando), quindi % per saltare alla altra staffa.

Scrivi una funzione di Vim nel Vimrc utilizzando la searchpair funzione built-in:

searchpair({start}, {middle}, {end} [, {flags} [, {skip}
            [, {stopline} [, {timeout}]]]])
    Search for the match of a nested start-end pair.  This can be
    used to find the "endif" that matches an "if", while other
    if/endif pairs in between are ignored.
    [...]

( http://vimdoc.sourceforge.net/htmldoc/eval.html)

Vorrei aggiungere un dettaglio alla risposta più votata:

Se stai usando gvim e da copiare negli appunti, utilizzare

"+<command>

Per copiare tutto il contenuto fra parentesi (o parentesi o parentesi graffe)

Ad esempio:. "+yi} si copiare negli appunti tutti i contenuti tra le parentesi graffe il cursore è

Ho fatto un plugin vim-textobj-quotes: https://github.com/beloglazov/ vim-textobj apici

Fornisce oggetti di testo per le coppie più vicine di citazioni di qualsiasi tipo. Utilizzando solo iq o aq permette di operare sul contenuto dei singoli ( '), doppio ( "), o posteriore (`) citazioni che attualmente circondano il cursore, sono in davanti al cursore, o dietro ( in questo ordine di preferenza). in altre parole, si salta in avanti o indietro quando necessario per raggiungere le virgolette.

E 'più facile da capire, cercando in esempi (il cursore è mostrato con |):

  1. Prima: foo '1, |2, 3' bar; dopo aver premuto diq: foo '|' bar
  2. Prima: foo| '1, 2, 3' bar; dopo aver premuto foo '1, 2, 3' |bar: daq
  3. Prima: foo | bar; dopo aver premuto ciq: yiq
  4. Prima: viq; dopo aver premuto <=>: <=>
  5. Prima: <=>; dopo aver premuto <=>: <=>
  6. Prima: <=>; dopo aver premuto <=>: <=>

Gli esempi sopra riportati sono dati per virgolette singole, il plugin funziona esattamente allo stesso modo per le doppie virgolette ( ") e ritorno (`).

È inoltre possibile utilizzare altri operatori:. <=>, <=>, <=>, <=>, etc

Si prega di dare un'occhiata alla pagina GitHub linkato sopra per maggiori dettagli.

Una semplice mappa della tastiera in vim risolverebbe questo problema.     Mappa VIQ F”LVF” hh Questo mappe comando sopra ViQ ai tasti per la ricerca tra le virgolette. Sostituire "con qualsiasi personaggio e creare i keymaps. Bastone questo vimrc durante l'avvio e si dovrebbe essere in grado di usarlo ogni volta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top