Conheço muitas maneiras de copiar coisas:
yiw
= puxar a palavra atual
yaw
= puxar toda a palavra (inclui um espaço à direita)
yy
= puxar a linha atual
3yy
= puxar três linhas a partir da atual
yap
= puxar todo o parágrafo (inclui a nova linha à direita)
Também posso excluir ou alterar um único caractere:
x
= excluir o caractere sob o cursor
r
= substituir o caractere sob o cursor
Mas como no mundo você simplesmente copia um único caractere sob o cursor?
Minha motivação é que estou programando em Perl 6 e alguns dos operadores são caracteres Unicode. Agora eu estou usando código Perl 6 Config :: INI do tadzik como um ponto de partida para um analisador personalizado, por exemplo, e eu teria gostado de ter copiado apenas que um caracter de aspas francês (um operador de hiper) a partir desta linha :
my %hash = $<sections>».ast;
Eu poderia usar a versão "Texas" de dois caracteres do operador hiper >>
, mas achei que >»
parecia melhor e menos ambígua do que >>>
:
my %hash = $<sections>>>.ast;
fonte
yl
ytX
("y
ankt
ilX
") parece funcionar quandoX
é o caractere à direita.conceal
recurso Vim ?»
personagem?Respostas:
Compondo a operação puxão com o tantas vezes utilizado "um caractere para a direita" movimento deve funcionar:
yl
.BTW (para comentar um comentário do OP), para mim
»
pode ser puxado dessa maneira, no gVim ou no Vim terminal. Talvez um problema de codificação (arquivo)?fonte
»
funciona bem para mim também. Eu usovy
para puxar um único personagem. Não sei por que uso isso, eyl
talvez tenha tido uma razão consciente uma vez, mas agora é apenas reflexo.y<space>
pensei que era puxar o personagem por baixo do cursor e acrescentá-lo como resposta, mas depois de verificar a ajuda, percebo<space>
el
sou a mesma coisa.Normalmente, eu pressiono
vy
( puxão visual ), às vezesxu
( excluir desfazer ) também. Além disso, se você deseja puxar o caractere antes do cursor, em vez delvy
pressionarXu
, acho que essa é a razão pela qual pressionoxu
pela corrente. :-)Observe que
Xu
fará o cursor se mover para esse caractere.fonte
hvy
. Tentei editá-lo, mas aparentemente corrigir um caractere em um comando vim não é uma alteração significativa para ser aceitável.A maneira mais simples de fazer isso é
x
excluir o caractere, que também o coloca no buffer eP
colocá-lo de volta. Você pode mover o cursor e colar o caractere de volta para onde quiserp
(após o cursor) ouP
(antes do cursor), desde que não altere o buffer.fonte