Os objetos de texto de palavras internas e externas no vim se comportam de maneira diferente quando combinados com uma contagem. Dado o texto (o cursor está dentro da palavra first
)
first second third fourth
ambos y2iw
colocarão a primeira palavra no registro, y3iw
/ y4iw
as duas primeiras palavras etc. Portanto, preciso pelo menos y7iw
arrancar todas as quatro palavras (internas). Para palavras externas, a contagem fornecida corresponde ao número de palavras arrancadas.
Por que dois iw
objetos correspondem a uma única palavra neste caso, e posso me iw
comportar de maneira semelhante aw
?
Responder1
Digite cerca de 5 espaços e faça viw
: os cerca de 5 espaços são selecionados porque iw
também são considerados \s+
um "objeto" separado.
No seu exemplo, você tem 7 iw
objetos:
yiw
puxafirst
no registro sem nome.y2iw
puxafirst
(com o espaço à direita) no registro sem nome.y3iw
puxafirst second
(com o espaço) no registro sem nome.y4iw
puxafirst second
(com os espaços) no registro sem nome.- E assim por diante…
Por outro lado, aw
considera a palavrae qualquer número de espaço seguintecomo um "objeto".
No seu exemplo, você tem 4 aw
objetos:
yaw
puxafirst
(com o espaço à direita) no registro sem nome.y2aw
puxafirst second
(com o espaço à direita) no registro sem nome.y3aw
puxafirst second third
(com o espaço à direita) no registro sem nome.y4aw
puxafirst second third fourth
no registro sem nome.
Se você quiser iw
se comportar como aw
basta usar aw
.