Come posso aggiungere numeri di riga non selezionabili con il mouse a VIM? [duplicare]

StackOverflow https://stackoverflow.com/questions/808298

  •  03-07-2019
  •  | 
  •  

Domanda

    

Questa domanda ha già una risposta qui:

         

Quindi ho capito come aggiungere numeri di riga a vim (: set no o: set number) ma come posso fare in modo che quando uso il mouse in un emulatore di terminale per selezionare un blocco di linee, non seleziona anche i numeri?

Ad esempio, supponiamo che io abbia tre righe simili a vim:

1    First line
2    Second
3    Third

Se voglio selezionare le tre righe con il mouse, ciò che voglio è selezionare SOLO il testo attuale. Ma ciò che finisce è che seleziona i numeri di riga e tutto lo spazio a sinistra e a destra dei numeri di riga.

C'è un modo per cambiare questo comportamento? A proposito, sto usando l'editor del terminale gnome in gnome se questo fa la differenza.

È stato utile?

Soluzione

AFAIK, questo non è possibile.

L'unica cosa che posso aggiungere al momento è che starai meglio con

:set invnumber

Invertirà la condizione corrente, quindi puoi mapparla su una chiave e attivarla. In questo modo non devi ricordare due comandi.

Altri suggerimenti

Utilizzare quanto segue:

:set mouse=a

per attivare il mouse in stile xterm in tutte le modalità. Questo ti permetterà di fare quello che vuoi. Tieni presente che se il vim è remoto tramite ssh, avrai bisogno dell'inoltro X11 attivato affinché la selezione arrivi negli appunti locali.

Sono d'accordo con la prima risposta. Se usi gvim, puoi provare a usare set mouse = n e set mouse = a , che dovrebbe cambiare il comportamento di selezione del numero di riga.

Quando voglio selezionare il testo in un terminale, rimuovo i numeri di riga.

:set nonu

Quando ho finito

:set nu

Probabilmente non sei su un Macintosh e non posso dire se vuoi dire che vuoi usare la copia di sistema piuttosto che lo yank di vim.

Ma se si sono entrambe queste cose, è possibile utilizzare il trascinamento delle opzioni per selezionare il testo. Questo crea una casella 2d sul testo, selezionando le cose che sono sotto di essa. Dovrebbe essere funzionalmente uguale a "prendi le colonne da x1 a x2 delle righe da y1 a y2".

Sono abbastanza sicuro che questo non sia possibile in Terminal-VM. Per quanto ne so, non esiste uno standard accettato (ad esempio una fuga TTY) per indicare blocchi di personaggi che non sono evidenziati dal mouse.

Vorrei usare gvim se vuoi essere in grado di farlo a qualsiasi costo. Il suo comportamento è come lo descrivi.

La mia raccomandazione è di abituarsi alla piccola casella nell'angolo destro dello schermo che contiene il numero della linea corrente e le informazioni sulla posizione del personaggio. Prima di usare Vim non avrei mai immaginato di vivere senza numeri di riga, ma da allora mi sono spostato oltre. Non avere i numeri di riga ingombrati sullo schermo consente la visualizzazione del codice senza distrazioni e devi davvero sapere che il numero di riga sopra la tua riga attiva corrente è uno in meno del numero della tua riga corrente e la riga di seguito è un'altra?

Una copia senza mouse:

Entra in modalità visiva: posiziona il cursore, premi v (per la riga completa V ) vai su o verso il basso fino alla posizione desiderata

Premi control + c per copiare negli appunti (se + appunti esiste nell'output del comando : ve ) premi ESC e incollalo dove vuoi con control + v .

Oppure premi y per inserire il registro e premi p per inserire il testo dopo il cursore

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