Como posso puxar várias linhas para um registro?


44

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?


"se eu tentar selecionar várias linhas no modo visual, não será gravado no registro." <- Sério? Funciona para mim ...
Billy ONeal

e para mim também ...
ulidtko 17/01

ah ok, eu tentei com "iyv, bobo eu. deveria ser Vjjj" iy como ulidtko mencionado.
ryz

Respostas:


59

Use 3Ypara puxar 3 linhas no registro padrão; "i3Ypara 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 Vcomandos e movimentos e, em seguida, pressione ypara puxá-lo ou puxá-lo "_ypara 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.


11
+1 - mas Vé o Modo de linha visual, vé o modo visual.
Billy ONeal

ok ok ok Modo de linha visual. %)
ulidtko

11
aceito de bom grado, o caminho mais rápido para mim ainda.
ryz

24

De qualquer lugar do arquivo, você pode usar o seguinte.

:2,5y a

Arranque as linhas 2 - 5. PARA REGISTRAR

:7pu a

Cole o registro na linha 7.


11
A pergunta, “como posso puxar várias linhas para um registrador ?” Mostre como esses comandos funcionam com os registradores.
10113 Scott

Espero que minha edição atenda sua solicitação.
alock27

Desculpe, não. A pergunta mencionou explicitamente "registrar" repetidamente, referiu-se a "cole facilmente modelos de texto diferentes" e deu um exemplo usando um registro não padrão.
12113 Scott

3
@ Scott minhas desculpas. Por que você simplesmente não disse: "Cara, verifique seu método com: reg. Você verá que ele não funciona". E eu ficaria tipo "Whoa, meu mal".
precisa saber é

11
Estava procurando uma maneira de puxar o arquivo who para o register + para copiar para a área de transferência do sistema. :% y + fez o truque, obrigado.
AlexMA #

10

Use mpara marcar o início, com um nome de buffer (para que você possa digitar mx). Mova o cursor para baixo para onde deseja parar de copiar e digite y'x(ou d'xse você está recortando e colando). Em seguida, mova para o ponto em que deseja colar e digite p.

A planilha de comandos do Vim


Tem certeza de que não quer dizer que vnão m?
Billy ONeal

O @BillyONeal 'v' inicia o Modo Visual e permite que você faça a mesma coisa, 'm' é usado para "marcar" uma região.
Nifle

6

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, "r5yypuxaria cinco linhas começando no cursor no registro 'r'. (Ou você pode digitar :.,+4y rpara fazer o mesmo no modo ex.) Você também pode combinar números com objetos de texto; "r10y).


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.