Como alterar literais de string no Emacs (de um usuário VIM)

1

Suponha que o cursor esteja no topo do seguinte arquivo:

<?xml version="1.0" encoding="utf-8"?>
<resources>    
    <string name="app_name">Hello World</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
</resources>

Como é possível copiar o último elemento string e alterar seus valores para:

    <string name="edit_message">Enter a message</string>

No VIM, gostaria de /men<Enter> para ir para a linha , em seguida, Yp para copiá-lo abaixo de e, em seguida, simplesmente ciw para alterar o name attribute e cit para alterar o valor .

Note que estou não interessado em fazer o Emacs se comportar como VIM através do uso de plugins, mas estou interessado em aprender a maneira de pensar do Emacs . Estou intrigado com o org-mode e gostaria de começar a usar o Emacs um pouco como ele foi projetado para ser usado .

Note também que esta questão é adaptada de um pergunta anterior sobre o Eclipse como essa situação do mundo real é muito boa para aprender as diferentes abordagens para edição de texto.

    
por dotancohen 07.05.2014 / 09:22

1 resposta

2

Depende da sua preferência, eu acho. Pessoalmente, eu faria

  • C-s men , que é pesquisa incremental; men é apenas a subseqüência mais curta que me levará à linha que eu quero alterar
  • home C-k , o que me levará ao começo da linha e matará essa linha
  • C-y Ret C-y que cola a linha, insere uma nova linha e a cola novamente, deixando o ponto no final da linha nova
  • C-r men , que é a pesquisa incremental para trás
  • C-M-k que, na minha máquina, está vinculado a kill-sexp e excluirá menu_settings
  • digite edit_message
por 07.05.2014 / 21:14

Tags