Se non ti dispiace premere una combinazione diversa rispetto a cw, allora credo che puoi ottenere facilmente ciò che desideri, definendo una scorciatoia. Quello che puoi fare è posizionare quanto segue
nmap <leader>a "1yiw:let @/=@1^Mciw
nel tuo .vimrcfile. Si noti che ^M è un'acquisizione della chiave di ritorno e non dei caratteri ^e M. Puoi ottenerlo premendo Ctrl+ Vin modalità inserimento seguito da Enter. Ora, con questo definito, premendo <leader>afarà lo stesso di cw, ma ora la parola (prima della modifica) sarà nel tuo "ultimo registro di ricerca" (cioè il /registro), quindi premendo ndopo aver apportato la modifica e restituito in modalità normale ti porterà alla prossima occorrenza. Allo stesso modo, premendo si Naccederà alla ricorrenza precedente.
La scorciatoia Puoi ovviamente scegliere una scorciatoia diversa da quella <leader>a, ma trovo solo che si tratta di una scorciatoia molto accessibile. Personalmente ho impostato <leader>su in ,modo che ho solo bisogno di premere ,seguito da a, ma questo perché non uso una tastiera americana, in modo che la mia \sia nascosta in qualche modo (credo \sia l'impostazione predefinita <leader>).
Spiegazione L'idea è davvero semplice. Sposta la parola sotto il cursore nel registro di ricerca /e poi fai cw. Questo nmap <leader>a "/yciwera ciò a cui stavo mirando, ma sfortunatamente non penso che tu possa fare uno yank al registro di ricerca, quindi la soluzione è di strappare la parola sotto il cursore al 1registro, quindi impostare il /registro uguale a quello, e poi fare cw. Così "1yiwè la parte che trasporta la parola interna sotto il cursore nel registro 1. Se non conosci le parole interiori, puoi dare un'occhiata :help iw. Successivamente, :let @/=@1seguito da una cattura di Enterinserisce il contenuto del 1registro in /. A questo punto neNfunziona come occorrenza successiva e precedente della parola sotto il cursore, quindi ciwviene eseguita una a in modo che la parola sotto il cursore sia eliminata e Vim sia messo in modalità inserimento.
parola contro parola interiore Mi sono appena reso conto che supponevo che tu volessi l' intera parola sotto il cursore e non solo dal punto del cursore e in poi. Questo è il motivo per cui ho usato iwinvece che wovunque. In caso contrario, è necessario utilizzare
nmap <leader>a "1yw:let @/=@1^Mcw
anziché. Se il cursore si trova sulla prima lettera della parola, non c'è differenza.
dichiarazione di non responsabilità Questa soluzione probabilmente non funzionerà bene se si tenta di usarlo su qualcosa che contiene diverse cose da lettere, per esempio avendo il supporto cursore su una \o sostituendo iwcon iW, ib, iso ipo qualcosa del genere (anche se non so perché si farebbe vuoi questa funzione con intere frasi)
*ricerca. Soprattutto consente di*selezionare visivamente la parola corrente senza spostare il cursore. Una volta installato, è possibile eseguire*ciwl'inserimento della parola precedente nel registro di ricerca e modificare la parola. Quindi puoi usarene..