A maneira mais fácil de fazer isso é com os comandos de retângulo .
Vá para a primeira linha do buffer (ou mais geralmente a primeira linha onde deseja inserir o texto) e vá para a coluna onde deseja inserir o texto. Vá para a última linha e vá para a mesma coluna (não há uma maneira interna de fazer isso). Digite C-x r t
( string-rectangle
) e digite a string que você deseja inserir.
Você pode usar a seguinte função para mover o cursor para a mesma coluna que a marca:
(defun move-to-mark-column ()
(interactive "@")
(move-to-column (save-excursion
(goto-char (mark))
(current-column))))
Se você deseja mudar para uma coluna por número, há move-to-column
: C-u 42 M-x move-to-column RET
. A menos que você vincule isso a uma chave, é mais curto passar para o início da linha e depois pela contagem de caracteres ( Home C-u 42 Right
), mas isso pode ir para a próxima linha se a contagem for muito alta, enquanto move-to-column
deixa você no final da linha, neste caso. Além disso, move-to-column
se comportará de maneira diferente se houver guias ou linhas divididas.
Se o ponto e a marca não estiverem na mesma coluna, eles são o canto oposto de um retângulo. O comando retângulo afeta todos os caracteres dentro desse retângulo. string-rectangle
apaga o retângulo e coloca o texto especificado em cada linha. C-x r d
apaga o retângulo. Você também pode copiar e colar ( C-x r M-w
, C-x r k
, C-x r y
para copiar / eliminar / copiar) e inserir ou preencher com retângulos ( C-x r o
, C-x r c
para abrir / limpar com espaços) e muito mais.