Administração de Linux
medium
Administração de Linux Question #019e3987
Question Statement
Administração de Linux
#vi
#yank
#yy
#buffer
#copy-line
Medium
No editor vi, qual dos seguintes comandos copiará a linha atual para o buffer do vi?
A
c
B
cc
C
1c
D
yy
Correct
E
1y
Official Explanation / Community Explanations
O comando yy (ou Y) no vi copia (yank) toda a linha atual para o buffer do vi. Este é o comando padrão para copiar uma linha no modo normal do vi.
Como funciona
No vi, o operador y (yank) copia o texto para um buffer sem apagá-lo. Quando seguido por um movimento, ele copia do cursor até o alvo do movimento. O comando yy é um caso especial que copia toda a linha atual, equivalente a y_ ou Y (se Y não estiver remapeado). O conteúdo do buffer pode então ser colado com p (após o cursor) ou P (antes do cursor).
Por que o valor correto está certo
yy: Este é o comando correto. Ele copia a linha atual para o buffer. O prefixo numérico1é opcional, então1yytambém funciona, masyyé a forma padrão.
Por que os valores incorretos estão errados
c: O comandocé o operador de alteração (change). Ele apaga o texto e entra no modo de inserção. Não copia.cc: O comandoccaltera (apaga e insere) a linha atual. Não copia.1c: Este é um comando de alteração com um prefixo de contagem. Ele altera uma linha (a linha atual) apagando-a e entrando no modo de inserção. Não copia.1y: Embora1ycopie uma linha (a linha atual) se seguido por um movimento,1ysozinho é incompleto. No vi,1ysem um movimento não é um comando válido; ele aguardaria um movimento. A forma correta éyyou1yy.