como obter uma configuração decente do emacs no linux

6

Estou atualmente interessado em mudar do vim para o emacs.

Uma das razões mais convincentes para isso é a integração suave com um ambiente unix. Os usuários mais experientes do emacs que eu vi têm um prompt bash na parte inferior da janela, com o stdout indo para um buffer logo acima dele. Eles então interagem com a saída de programas como o grep de maneiras interessantes.

Estou no Ubuntu 10.04 e o ambiente emacs padrão não parece fazer muito para mim em termos de integração. Por exemplo, no modo M-x shell , a saída de comandos básicos como ls produz muitos caracteres estranhos e acertar a seta para cima não vai para comandos anteriores.

Alguma recomendação sobre uma boa direção para entrar?

    
por Hersheezy 11.03.2011 / 04:38

4 respostas

4

Com relação a como obter uma configuração decente, você pode usar duas maneiras diferentes:

  1. usam cegamente personalizações de outras pessoas / páginas da Web (por exemplo, kit inicial do Emacs)
  2. realmente pense sobre o que você quer, faça perguntas, aprenda e personalize seu .emacs yourself

Na minha experiência, muitos pegam a primeira rota e tudo bem. Você obtém algumas personalizações úteis com pouco trabalho. No entanto, você realmente não sabe mais do que antes de fazer o grande corte / colagem.

Se você dedicar seu tempo e fizer perguntas (como você fez sobre shell e ls ), você acabará com uma experiência personalizada da Emcas que realmente atende às suas necessidades. Além disso, você terá uma ideia muito melhor do que é possível e de como chegar lá. A desvantagem é que leva um pouco de trabalho (não muito, mas é diferente de zero e isso assusta muitos).

Então, para começar o caminho da iluminação (se você decidir tomar o comprimido vermelho ), eu vou dar soluções para o seu problema específico. Observação: Com tão pouca informação sobre sua configuração, eu farei algumas suposições sobre seus problemas específicos.

O ls está mostrando todos os tipos de caracteres funky porque você tem os caracteres especiais de saída do comando ls para cores em seus terminais regulares (talvez você tenha um alias para ls --color ). M-x term lida com isso corretamente, mas isso também funciona:

(ansi-color-for-comint-mode-on)

Em vez de usar as teclas de seta, você pode usar M-p e M-n para ir para os comandos anterior / seguinte. Ou você pode ligar as teclas de seta para fazer o que quiser:

(add-hook 'shell-mode-hook
      (lambda ()
    (define-key shell-mode-map (kbd "<up>") 'comint-previous-input)
    (define-key shell-mode-map (kbd "<down>") 'comint-next-input)))
    
por 11.03.2011 / 21:17
5

Você pode querer experimentar eshell ( Mx eshell ), ou você pode querer leia os comandos e atalhos para o comando shell ( Mx shell ). eshell é um shell escrito em emacs lisp que se integra quase perfeitamente ao Emacs. Minha única reclamação é que não é tão rápido quanto o shell normal.

Quanto a configurar tudo o mais, recomendo o kit inicial do emacs , que contém vários recursos úteis scripts e módulos elisp para estender e configurar o emacs.

Emacs é um gosto adquirido. As pessoas que você assistiu provavelmente têm décadas de experiência no emacs - elas começaram tão sem noção quanto você. Eu recomendo que você tente ler alguns livros sobre o assunto - Aprendendo o GNU Emacs é o que eu aprendi, e depois disso O manual do GNU Emacs é um ótimo guia e referência .

    
por 11.03.2011 / 05:01
1

É interessante para mim que sua razão para mudar do vim para o emacs é sobre integração Unix, e como você viu o folk do emacs com buffers de shell, etc., já que está falando do seu nível de experiência com esses dois editores em geral. Nem emacs nem vim vêm "fora da caixa" do jeito que você gostaria, mas sim como plataformas para desenvolver um fluxo de trabalho.

Por exemplo, vim não vem com a funcionalidade que você descreve fora da caixa, mas plugins como conque e addon-async , da mesma forma que o emacs não. Em vez disso, ele começa com (o mesmo que o emacs - via M-! ) a capacidade de executar um comando externo e canalizar isso para um novo buffer ( :r! command ).

Eu não estou aqui para dissuadi-lo do emacs, mas sugiro que a melhor maneira de aprender um desses é escolher um e mergulhar. Se você tem amigos que conhecem emacs, peça seus arquivos de configuração. Pergunte de quais plug-ins você pode gostar ou como obter uma funcionalidade específica. A pergunta mais difícil para aqueles com experiência para responder é "O que devo fazer a seguir?"

Como dito anteriormente, o kit inicial do emacs é ótimo, assim como o screencast peepcode de onde veio. Além disso, muito do http://books.google.com/books?id=eoI7dNY1d0YC&lpg=PT136&ots=Bvv38cj3uT&dq=emacs%20unix%20integration&pg=PA1#v=onepage& O q = emacs% 20unix% 20integration & f = false "> Aprendizado do GNU Emacs está disponível gratuitamente on-line pelo Google Livros. Quanto aos plugins reais que uso, por acaso gosto anything.el para completar o código e autopair.el para colocar chaves correspondentes em. Além disso, dê uma olhada através de marmelada para coisas que possam ser de interesse para os idiomas e ambientes em que você trabalha. Isso o levará a mais perguntas guiadas sobre funcionalidades específicas.

Boa sorte em sua missão de edição!

    
por 11.03.2011 / 18:09
0

Use M-x ansi-term em vez de M-x shell - assim você terá um emulador de terminal real no Emacs. Não é perfeito, mas certamente se sai melhor com aplicativos curses como mutt, top, etc.

Também recomendo que você dê uma olhada no Emacs Dev Kit - uma alternativa menos conhecida para o kit inicial do Emacs. Embora na versão alfa, ele possui muita configuração útil que pode ser prontamente reutilizada.

Você também deve dar uma olhada no Emacs Wiki e Dominando o Emacs .

    
por 11.03.2011 / 18:38