Depois de copiar um "retângulo" usando C-x r M-w
, C-x r y
puxando ou colando o retângulo. Mas isso insere o retângulo copiado.
Como colar o retângulo copiado para substituir o texto?
Exemplo:
a b c d e f g
h i j k▮l m n
o p q r s t u▮
Copiei o retângulo entre as posições do cursor mostradas acima usando M-x copy-rectangle-as-kill
ou C-x r M-w
.
Agora, quando colo na frente do caractere, h
usando M-x yank-rectangle
ou C-x r y
, quero que o resultado pareça
a b c d e f g
▮l m n k l m n
s t u r s t u
ao invés de
a b c d e f g
▮l m n h i j k l m n
s t u o p q r s t u
Como posso fazer a yank-rectangle
substituição?
C-x r y
sobrescrever. Estou editando minha pergunta agora.Respostas:
Use
M-x picture-mode
.C-c C-y
, vinculado ao comandopicture-yank-rectangle
, faz o que você deseja. (Você pode usarC-_
para desfazer.)Essas chaves relacionadas também estão disponíveis em
picture-mode
:C-c C-k
- Limpe um retângulo e salve-o (picture-clear-rectangle
)C-c C-w
- Limpe um retângulo e salve-o em um registro (picture-clear-rectangle-to-register
)C-c C-x
- ComoC-c C-y
, mas usa o retângulo em um registrador (picture-yank-rectangle-from-register
)C-x r r
- Copie um retângulo para um registro (copy-rectangle-to-register
)Use
C-c C-c
para sair do modo de imagem.Você também pode usar os comandos do modo de imagem sem ativar
picture-mode
, mas, nesse caso, as teclas não estão ligadas. De qualquer forma, você precisará carregar a bibliotecapicture
.Então você pode, por exemplo, fazer o seguinte:
C-x r r
para copiar um retângulo para um registro.M-x picture-yank-rectangle-from-register
(que você também pode vincular a uma chave).fonte
M-x picture-yank-rectangle-from-register
solução funciona muito bem para mim; Eu simplesmente preciso colocar(require 'picture)
no meuinit.el
.Outra abordagem é usar
delete-selection-mode
e fazer isso no seu arquivo init:Mas isso
yank-rectangle
sempre substitui o texto no momento, o que pode não ser o que você deseja.fonte