Quero arrancar várias linhas em um único registro no vim, para colar facilmente diferentes modelos de texto em um documento.
Por exemplo, "iyy puxa apenas a linha atual; se eu tentar selecionar várias linhas no modo visual, ela não será gravada no registro.
Alguma sugestão?
Respostas:
Use
3Y
para puxar 3 linhas no registro padrão;"i3Y
para puxar para o registro i.Além disso, minha maneira favorita não é contar as linhas que quero puxar, mas selecioná-las no modo visual por meio de
V
comandos e movimentos e, em seguida, pressioney
para puxá-lo ou puxá-lo"_y
para um registro.Além disso, tentei selecionar várias linhas no modo Visual Line e puxar para um registro não padrão, por exemplo
Vjjj"oy
- e funciona.fonte
V
é o Modo de linha visual,v
é o modo visual.%)
De qualquer lugar do arquivo, você pode usar o seguinte.
Arranque as linhas 2 - 5. PARA REGISTRAR
Cole o registro na linha 7.
fonte
Use
m
para marcar o início, com um nome de buffer (para que você possa digitarmx
). Mova o cursor para baixo para onde deseja parar de copiar e digitey'x
(oud'x
se você está recortando e colando). Em seguida, mova para o ponto em que deseja colar e digitep
.A planilha de comandos do Vim
fonte
v
nãom
?Você prefixa o comando com um número para obter quantas linhas operar. Você também pode usar um 'objeto de texto' (como ']' para bloco e ')' para parágrafo) - isso funcionaria em várias linhas contextualmente - o padrão geralmente é uma única linha. Por exemplo,
"r5yy
puxaria cinco linhas começando no cursor no registro 'r'. (Ou você pode digitar:.,+4y r
para fazer o mesmo no modo ex.) Você também pode combinar números com objetos de texto;"r10y)
.fonte
É possível puxar várias linhas, caso seja a última ocorrência de pesquisa.
Por exemplo, considerando o seguinte padrão multilinha não ganancioso :
você terá seu padrão multilinha arrancado (entre
start
eend
) em seu@i
registro (impresso porecho @i
).Relacionado: Como imprimir uma correspondência de várias linhas? no Vi
fonte