Domanda

C'è il ": a " comando, ma è multilinea e argdo ti chiede di nuovo il testo per ogni file.

I documenti menzionano il comando globale (g / pat / command) che utilizzerà una versione alternativa di ": a " che termina con una nuova riga anziché con ". " su una riga (puoi includere le nuove righe sfuggendole con " \ "). Ma non sono riuscito a farlo funzionare.

L'unico modo che ho visto è prima di scrivere il testo da aggiungere in un registro con nome, quindi usare:

:argdo put x                 " where x is the register

Spero in qualcosa del genere

:argdo append myTextHere
È stato utile?

Soluzione

Non sono chiaro dove stai cercando di inserire il testo nel buffer. Se lo vuoi dopo la riga corrente:

:argdo exe 'normal osometext'

Inserimento di testo con interruzioni di riga:

:argdo exe "normal osometext\<CR>anewline"

Altri suggerimenti

Per aggiungere testo dopo la riga nr 10:

:argdo call append(10, "hello world")

Per aggiungere testo alla riga 10:

:argdo call setline(10, getline(10)."textappended")

Il janking di un testo in vim lo metterà nel buffer predefinito, che è ". È possibile incollare quel buffer in modalità inserimento, ad esempio digitando <C-R>". Quindi tutto ciò che serve è argdo put "

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