Pergunta

Eu li em vários lugares que o retângulo funções emacs são muito úteis.Eu li um pouco sobre eles, e eu não consigo figura porquê.Quero dizer, quando você quer matar um parágrafo, você marca a primeira linha/coluna e, em seguida, o último, e que na verdade é um retângulo, certo?Mas você ainda pode usar o kill normal...

Então, que tipo de transformações que você faria com eles?

Foi útil?

Solução

Se você tiver dados em colunas em um arquivo de texto com M-x delete-rectangle ou M-x kill-rectangle você pode excluir uma única coluna de dados.Da mesma forma, M-x yank-rectangle irá colar em uma coluna de texto.

Tome, por exemplo, o seguinte texto:

1. alligator    alphorn
2. baboon       bugle
3. crocodile    cornet
4. dog          didgeridoo
5. elephant     euphonium 
6. fish         flugelhorn   
7. gopher       guitar

Selecione a partir de um de jacaré para o g de guitarra.O início e o fim da seleção marcar dois cantos opostos do retângulo.Entrar M-x kill-rectangle e você imediatamente tem:

1. alphorn
2. bugle
3. cornet
4. didgeridoo
5. euphonium 
6. flugelhorn
7. guitar

Próximo de colocar a marca no final da linha superior, adicionar alguns espaços, se necessário, e enter M-x yank-rectangle e ta-da!Você tem re-ordenar as colunas:

1. alphorn      alligator    
2. bugle        baboon       
3. cornet       crocodile    
4. didgeridoo   dog          
5. euphonium    elephant     
6. flugelhorn   fish         
7. guitar       gopher       

Outras dicas

Eu gosto de usar o retângulo para 2 propósitos, inserir o mesmo texto em cada linha, ou matar uma coluna de texto (semelhante ao Dave Webb resposta).

Há 2 atalhos úteis para estes, C-x r k vai matar um retângulo, e C-x r t para inserir (existem outros comandos com um retângulo C-x r prefixo, mas esses são os que eu uso).

Então, digamos que você queira levar algum código e formatá-lo de modo que você pode publicá-la em um Estouro de Pilha post...você precisa prefixar com 4 espaços.Então, vá para o início da primeira linha, C-SPC para marcar, em seguida, vá para o início da última linha e C-x r t <SPC> <SPC> <SPC> <SPC> <RET>, e aí está ele!Em seguida, você pode apenas copiar e colar no Estouro de Pilha.Eu tenho que correr em situações mais complexas em que isso é útil, onde você realmente tem o texto que você deseja inserir em cada linha em um determinado lugar.

Então, a outra situação, como Dave Webb situação, se você quer matar um retângulo, use C-x r k embora, porque é muito mais rápido ;-)

Também, de acordo com a minha cartão de referência que eu impressos quando eu comecei, você pode fazer o seguinte:

  • C-x r r:copiar um registo
  • C-x r y:copie um retângulo
  • C-x r o:abra um retângulo, mudando o texto para a direita (o que isso significa...)
  • C-x r c:de branco com um retângulo (eu assumo que significa substituí-lo com espaços, mas você tem que experimentá-lo para ver)
  • C-x r t:prefixo com o texto (como descrito acima)
  • C-x r k:matar (como descrito acima)

Em emacs24+ há também uma função para a numeração de linhas:

(rectangle-number-lines START END START-AT &optional FORMAT)

Insert numbers in front of the region-rectangle.

START-AT, if non-nil, should be a number from which to begin
counting.  FORMAT, if non-nil, should be a format string to pass
to `format' along with the line count.  When called interactively
with a prefix argument, prompt for START-AT and FORMAT.

Binded para C-x r N por predefinição.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top