Bene, la convenzione è vim è diversa da quella a cui siamo abituati. Vedere, ad esempio, come funziona il valore predefinito paste
. Se si preme p
- il testo strattonato appare DOPO il cursore invece di AT sul cursore come siamo abituati.
E dove si trova il cursore alla fine di paste
? si trova un personaggio PRIMA della fine del nuovo testo! Quindi se vuoi continuare a scrivere dopo il testo devi spostarti a destra e quindi premere i
!
Devi solo passare a pensare che il cursore attuale sia un carattere a destra (o in basso) rispetto a quello che vedi. Questa è la convenzione vim.
Se iniziate ad usare a
/o
per entrare in modalità di inserimento di default al posto di i
/O
, potrebbe aiutare a fare questo. È sufficiente passare il tuo pensiero in modo che a
sia l'impostazione predefinita, quindi l'incolla e la posizione del cursore che esce dalla modalità insert
e molte altre cose abbiano più senso.
Modifica
qualche parola in più per rispondere alla tua domanda in realtà (e non aiutano a far fronte con il comportamento)
La caratteristica più importante in vim è la coerenza di comportamento. L'obiettivo è quello di permetterti di sapere esattamente cosa accadrà senza nemmeno guardare lo schermo.
Quindi, quando si esce dalla modalità insert
, dove dovrebbe essere il cursore? È impossibile essere dopo il testo, perché se il testo termina alla fine della riga, il cursore non può arrivarci! (non può essere dopo il di fine riga). Lo stesso per paste
- se si incolla alla fine di una riga il cursore risultante non può essere dopo il testo inserito !.
A causa dei requisiti di coerenza, se talvolta non può essere successivo al testo inserito, non dovrebbe mai esserci. Altrimenti, se digiti senza guardare lo schermo, non sai dove sarà il cursore - dovrai cercare e controllare!
Molti dei comportamenti di vim possono essere spiegati in questo modo: perché '^' ti porta al primo carattere e non uno prima? (in modo che a
funzionasse per l'inserimento, come fa con paste
, $
ecc.), perché se il primo carattere è all'inizio della riga, non si può andare "uno prima di esso". E tu vuoi essere coerente.
cos'è "un tale stato"? inserire la modalità? –
@MarcB si, inserire la modalità –