VI - Cole algo na primeira posição / caractere de uma sucessão de linhas

0

Eu gostaria de arrancar um caractere e colá-lo na primeira posição da sucessão de linhas. Por exemplo, eu preciso adicionar um "#" na frente de 7 linhas de um arquivo.

Alguém pode me ajudar?

    
por bmz 29.01.2016 / 10:15

2 respostas

2

Depende muito do que você está chamando de vi . Se é realmente original-vi, então você poderia fazer isso por

  • digitando y l para "puxar" um caractere, começando na posição do cursor, indo para uma célula à direita.
  • movendo o cursor para a primeira linha onde você deseja colocar o texto
  • digitando repetidamente 0 P Enter , passando pelas sete linhas.

No original-vi, você só pode afetar um intervalo de linhas usando o modo ex . O modo ex de vi aceita um intervalo, mas o comando análogo

:1,7P

não put um caractere , mas tentará fazer algo com linhas . Em vez disso, usando o modo ex , você faria um substituto , por exemplo,

:1,7s/^/X/

mas não existe um valor de registro (o (s) caractere (s) que você foi ) para ser usado na substituição.

Leitura adicional:

por 29.01.2016 / 10:51
2

Nota: esta resposta funciona apenas para o VIM, não para o VI.

Você pode puxá-lo em uma coluna por:

  1. Começando no modo normal (não insere).
  2. Ir para a primeira linha e coluna (onde você deseja inserir o texto).
  3. Pressione Ctrl + V para entrar no modo de seleção vertical.
  4. Quando tiver selecionado todas as linhas na frente das quais você deseja colar o texto, pressione Shift + I .
  5. Agora você pode
    1. cole seu texto arrancado com Ctrl + R , 0 (ou outro registrador).
    2. ou escreva qualquer texto.
  6. Quando terminar, pressione Esc e o mesmo texto aparecerá em todas as linhas selecionadas.

Nota: você também pode fazer suas perguntas sobre o Vi (m) em: vi.stackexchange.com

    
por 29.01.2016 / 10:36

Tags