Como colocar no final da linha com o vim?
Eu gostaria de usar p
para colocar algum texto no final da linha atual sem mover o cursor.
Editar:
Por exemplo, eu gostaria de copiar uma palavra no final da linha, Eu uso yw
para copiar a palavra e então como posso colocá-la no final da linha atual?
Comentários
- O que você quer dizer?
- Se você deseja um mapeamento, pode tentar isto:
nnoremap ,p m'yiw$p``
. Pressione,p
e a palavra sob o cursor deve ser colada no final da linha. Você não ' t precisa do espaço no final, ele ' está aqui porque eu não ' t sei como formatar código contendo crase dupla sem ele.
Resposta
Se você quiser que cursor de volta à sua posição anterior após colocar o texto no final da linha, você pode usar marcas:
ma$p`a
-
ma
define a marcaa
para a posição atual -
$p
Conforme explicado, estão as outras respostas colocadas o texto no final da linha -
(backtick)a
volte para a posição marcada porma
Resposta
Você deseja “colocar”, não “imprimir”.
-
Mova o cursor para o final da linha com
$
. -
Pressione
p
para “colocar” o conteúdo do registro sem nome (o que você puxouyw
) após o cursor.
Veja :help p
, :help registers
, :help :print
.
Comentários
- sim, coloque desculpe! No entanto, gostaria de imprimir até o final da linha sem mover os cursores. Isso é possível?
- Não. Você precisa mover o cursor para onde deseja colocá-lo.
Resposta
Se entendi corretamente, você deseja colocar uma palavra no final da linha.
Você pode fazer isso com:
$p
$
mova o cursor para o final da linha, p
put.
O comando print
, por outro lado, é usado para exibir linhas do seu arquivo, por exemplo,
:1,2p "print the first and second line.
Ref:
-
:h p
(colocar) -
:h :p
(imprimir)