Domanda

Sto usando Surround e ripetere i plugin di Vim per avvolgere righe di testo con tag HTML.

userò "yse

" e "ys $

", entrambi funzionano bene.

provo a ripetere il comando con "", e mostra

nel terminale, ma ogni volta che si preme Invio per eseguire il comando, sostituisce circondano cosa dovrebbe essere

e

con ^ M .

I miei sguardi linea come ^ testoM qui ^ M

riconosco il carattere come una riga che finisce, ma non capisco il motivo per cui Surround non avvolgere la mia linea con il codice si mostra nel terminale (che è corretto), ma invece avvolge la mia linea con terminatori di linea DOS.

Sto usando gvim su Windows XP, se questo fa alcuna differenza.

È stato utile?

Soluzione

In realtà è perché <p> non è davvero lì quando si ripete il comando con .

Prova questo: prima di ripetere il comando con . primo colpo o per svuotare l'area della riga di comando di qualsiasi testo, poi ha colpito .

vedrai che in realtà è vuota, che è il motivo per cui il cursore si trova sul primo carattere.

Per ripetere l'involucro correttamente, dovrete o digitare <p> ogni volta o registrare una rapida macro.

Macro: ys$<p>

Incolla che in vim, evidenziarlo, e digitare "py

Ora è possibile eseguire la macro con @p

Altri suggerimenti

documentazione del surround.vim dice:

The "." command will work with ds, cs, and yss if you install repeat.vim, vimscript #2136. 

Quindi, se si sta utilizzando yss dovrebbe funzionare, ma a quanto pare le altre versioni di "ys" non sono supportati. Suona come una buona caratteristica richiedono di inviare al proprietario repeat.vim.

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