Penso che ciò consentirebbe alla funzionalità di selezione visiva di vim di superare l'efficienza anche del mouse fornendo una capacità di "cambiare" il capolinea attuale della selezione:
Illustrato ( |
Deve rappresentare il cursore (Vim deve operare sul lato sinistro del carattere su cui si trova) e [text]
rappresenta il testo selezionato, fingendo solo che occupino una larghezza pari a zero. Lo sfondo dello spazio tra [ ]
appare grigio e il carattere immediatamente seguente |
è verde):
Iniziare con
Some |text here
Some second line of text
Some more text in the third line
Stampa v2j
; nota che il m
carattere è incluso nella selezione (ora è evidenziato dal cursore):
Some [text here
Some second line of text
Some |m]ore text in the third line
Premere 10l
:
Some [text here
Some second line of text
Some more text |i]n the third line
È a questo punto che potrei decidere di voler iniziare a selezionare da un'altra posizione. ad esempio, incluso il "Some"
sulla prima riga.
Non ho scelta in un tipico editor / IDE. Probabilmente dovrei spostare la mano sul mouse, di solito è troppo doloroso selezionare il testo usando i metodi tradizionali, l'uso della parola hopping tramite Ctrl
e page-up / down aiuta in qualche modo, ma non importa cosa, devo impegnarmi a uno dei miei punti finali della selezione prima di iniziare la selezione .
Quindi in Vim mi piacerebbe molto per la capacità di prendere il mio stato attuale e portarlo a questo colpendo un legame misterioso:
Some [|text here
Some second line of text
Some more text i]n the third line
Quindi posso semplicemente colpire ^
o <Home>
(entrambi fanno lo stesso in questo caso dove non c'è spazio bianco iniziale) per trasformarlo
[|Some text here
Some second line of text
Some more text i]n the third line
Di 'che cambio idea di nuovo , voglio aggiustare l'altra estremità!
[Some text here
Some second line of text
Some more text |i]n the third line
Hit e
:
[Some text here
Some second line of text
Some more text i|n] the third line
Bellissimo! Posso fare quello che voglio dopo con questa selezione ora.
Allora, qual è questo mistero vincolante?
Inoltre, un potenziale ancora più efficiente sarebbe un insieme di associazioni alternative per alcuni dei comandi di movimento più utilizzati su un'altra riga di tasti, che si sposterebbero sempre (quando in modalità visiva) sull'altra estremità della selezione. Quindi, in quella operazione di selezione della modalità visiva, se i tasti di movimento per l'altra estremità della selezione fossero impostati su "yuio" (probabilmente non è una buona scelta dato che ne abbiamo bisogno y
ma sopportiamo solo me) avremmo potuto digitare
v2j10l5ye
piuttosto che
v2j10lX^Xe
Ehi sai una cosa, non è nemmeno un grande miglioramento. Dammi solo quella funzione X. :)
Le risposte perfette che sto cercando:
- Ehi, guarda in alto
:help some_awesome_vim_feature_that_just_does_this
- Ehi, guarda
https://github.com/awesome_user/vim_plugin_that_does_this
- Ehi, guarda
:help vimscript_functions_that_allow_mutation_of_visual_selections
Sono abbastanza nuovo di questo fascino con Vim, quindi sono molto verde quando si tratta di Vimscript, e sinceramente mi piacerebbe stare lontano dal tentativo di imparare ancora un'altra lingua, quindi spero di non essere costretto a costruirlo come un plugin.
:help
? :help visual-mode
ha tutte le informazioni di cui potresti aver bisogno sulla modalità visiva, incluso o
.
O
fa la O maiuscola, ma ricorderò o
. La seconda cosa a cui ti riferisci è probabilmente usare di :help
più. E l'ho usato più di quando ho iniziato.