Para prefixar um conjunto de linhas, uso uma das duas abordagens diferentes:
Uma abordagem é a seleção de bloco (mencionada por sth). Em geral, você pode selecionar uma região retangular com ctrl-Vmovimento do cursor seguido. Depois de realçar um retângulo, pressionar shift-Iirá inserir caracteres no lado esquerdo do retângulo ou shift-Airá anexá-los no lado direito do retângulo. Portanto, você pode usar essa técnica para fazer um retângulo que inclua a coluna mais à esquerda das linhas que deseja prefixar, pressione shift-I, digite o prefixo e, em seguida, pressione escape.
A outra abordagem é usar uma substituição (conforme mencionado por Brian Agnew). A substituição de Brian afetará todo o arquivo (o% no comando significa "todas as linhas"). Para afetar apenas algumas linhas, a abordagem mais fácil é acertar shift-V(o que ativa o modo de linha visual) na primeira / última linha e, em seguida, mover para a última / primeira linha. Em seguida, digite:
:s/^/YOUR PREFIX/
O ^ é um regex (neste caso, o início da linha). Ao digitar isso no modo de linha visual, você verá '<,'> inserido antes do s automaticamente. Isso significa que o alcance da substituição será a seleção visual.
Dica extra: se o seu prefixo contiver barras, você pode fazer o escape delas com uma barra invertida ou usar um caractere de pontuação diferente como separador no comando. Por exemplo, para adicionar comentários de linha C ++, geralmente escrevo:
:s:^:// :
Para adicionar um sufixo, a abordagem de substituição é geralmente mais fácil, a menos que todas as suas linhas tenham exatamente o mesmo comprimento. Apenas use $ para o padrão em vez de ^ e sua string será anexada em vez de pré-pendente.
Se você quiser adicionar um prefixo e um sufixo simultaneamente, pode fazer algo assim:
:s/.*/PREFIX & SUFFIX/
O. * Corresponde a toda a linha. O & na substituição coloca o texto correspondente (a linha inteira) de volta, mas agora terá seu prefixo e sufixo adicionados.
BTW: ao comentar o código, você provavelmente vai querer descomentar mais tarde. Você pode usar o visual-block ( ctrl-V) para selecionar as barras e então pressionar d para excluí-las, ou você pode usar uma substituição (provavelmente com uma seleção de linha visual, feita com shift-V) para remover as barras iniciais como esta:
:s:// ::