Substituto com o conteúdo do registo ou linhas variar de em outro lugar no ficheiro no Vim

StackOverflow https://stackoverflow.com/questions/662734

  •  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>
Foi útil?

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
scroll top