Gostaria de arrancar um caractere e colá-lo na primeira posição da sucessão de linhas. Por exemplo, preciso adicionar um “#” na frente de 7 linhas de um arquivo.
Alguém pode me ajudar?
Responder1
Depende muito de como você está ligando vi
. Se for realmente original-vi, então você poderia fazer isso
- digitando ylpara "arrancar" um caractere começando na posição do cursor, indo uma célula para a direita.
- movendo o cursor para a primeira linha onde deseja colocar o texto
- digitando repetidamente 0PEnter, percorrendo as sete linhas.
No vi original, você só poderia afetar um intervalo de linhas usandoexmodo. Oexmode of vi
aceita um intervalo, mas o comando análogo
:1,7P
não fariaput
apersonagem, mas tente fazer algo comlinhas. Em vez disso, usandoexmodo, você faria umsubstituto, por exemplo,
:1,7s/^/X/
mas não há comovalor de registro(o(s) personagem(s) que vocêarrancado) a ser usado na substituição.
Leitura adicional:
- ex(POSIX)
- vi(POSIX)
- 4. MODO DE COMANDO EX(Elviseditor)
- 5. Apresentando o ex-editor(deAprendendo o Editor vi)
Responder2
Nota: esta resposta funciona apenas para VIM, não para VI.
Você pode arrancá-lo em uma coluna:
- Iniciando no modo normal (não inserir).
- Vá para a primeira linha e coluna (onde deseja inserir o texto).
- Pressione Ctrl+ Vpara entrar no modo de seleção vertical.
- Ao selecionar todas as linhas na frente das quais deseja colar seu texto, pressione Shift+ I.
- Agora você pode
- cole seu texto arrancado com Ctrl+ R, 0(ou outro registro).
- ou escreva qualquer texto.
- Ao terminar, pressione Esc, e o mesmo texto aparecerá em todas as linhas selecionadas.
Observação lateral: você também pode fazer suas perguntas sobre Vi(m) em:vi.stackexchange.com