Substituto com o conteúdo do registo ou linhas variar de em outro lugar no ficheiro no Vim
-
20-08-2019 - |
Pergunta
Eu estou usando Vim, e eu quero substituir algum texto espaço reservado com uma longa corda, que se estende por várias linhas, o que já está escrito em outro lugar no arquivo.
É possível substituir um padrão com o conteúdo de um registo? Algo como
:%s/foo/<contents of register A>
Caso contrário, é possível substituir com uma gama de linhas? algo como
:%s/foo/<content of lines from 10 to 15>
Solução
De acordo com a http://vim.wikia.com/wiki/Search_and_replace Ele aparece:
:%s/foo/\=@a/g
Além disso, pressionando <c-r>a
enquanto no modo de inserção irá inserir o conteúdo do registo a
.
Cool - Eu nunca soube disso. Boa pergunta.
Algumas outras coisas para fazer com <c-r>
: http: //vimdoc.sourceforge .net / htmldoc / cmdline.html # c_CTRL-R
Outras dicas
:%s/foo/\=getline(10, 15)/g
:%s/foo/\=join(getline(10, 15))/g
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow