Dichiarazione di non responsabilità: sono del tutto ignaro di come le tastiere Apple con cmd piuttosto che ctrl interagiscono con vim, quindi potrebbe essere necessario modificare o perfezionare alcune di queste.
Il modo corretto per incollare in vim è usare il p
comando. Per incollare dagli Appunti di sistema, dovrai usare "*p
. Quindi, il modo standard di fare le cose sarebbe quello di lasciare la modalità di inserimento e "*pa
( a
ovviamente, rientra nella modalità di inserimento).
Se vuoi avere una scorciatoia da tastiera da utilizzare nella modalità di inserimento, sembrerebbe naturale fare qualcosa del tipo:
inoremap <c-v> <esc>"*pa
(Cioè: in realtà digita ciò che c'è invece di premere ctrl + v e scappa).
A prima vista sembra che questo dovrebbe fornire il comportamento desiderato: sta semplicemente automatizzando il processo di incollaggio standard che ho descritto sopra. Ma non lo fa. Vim tratta tutte le parti di un comando come parte dello stesso blocco di annullamento e vim stessa modalità di inserimento è una sorta di comando.
Tuttavia, puoi avviare manualmente un nuovo blocco di annullamento mentre sei in modalità di inserimento usando ctrl + g seguito da u
(sì, lo so, questo accordo di tasti sembra abbastanza inimmaginabile, ma il gioco è fatto). Quindi, puoi modificare la rimappatura dei tasti in questo modo:
inoremap <c-v> <c-g>u<esc>"*pa
Tutto questo funzionerà con ctrl + v (l'ho appena testato su Windows e funziona almeno lì), potrebbe essere necessario utilizzare qualcosa di diverso (diverso da <c-v>
) per le scorciatoie basate su cmd all'interno di vim. Se stai usando una tastiera Apple, ciò implica OSX - se cmd + v è una scorciatoia di sistema, non sono sicuro di cosa avrebbe la priorità. Alcuni googling superficiali suggeriscono che potrebbe essere necessario giocherellare con una configurazione a livello di sistema operativo per far funzionare correttamente cmd con vim.