Sem entrar em uma discussão religiosa sobre por que um é melhor que o outro, quais são as diferenças práticas entre o Emacs e o Vim? Estou procurando aprender um ou outro, mas percebo que a curva de aprendizado de cada um é alta e não consigo decidir. Eu nunca usei um editor desse tipo (eu sempre usei IDEs); portanto, qualquer coisa que ajude um novato é uma vantagem.
Antes de uma guerra de chamas começar: não estou perguntando o que é melhor, estou perguntando as diferenças entre os dois. Eu gostaria de uma comparação objetiva .
,salespitch
diz em #emacs<fsbot> We aren't gonna lie. Emacs sucks. Some of us tolerate it, but we can't tell you if YOU'LL be able to. Try it and make up your own mind.
PAGER=cat man
, o man exibirá o texto diretamente na tela.i, esc, wq
.Respostas:
(o texto abaixo é minha opinião, não deve ser tomado como fato ou insulto)
Com o Emacs, você deve abri-lo 24 horas por dia, 7 dias por semana e viver dentro do programa, quase tudo o que você pode fazer a partir daí. Você escreve suas próprias extensões, usa-o para anotações, organização, jogos, programação, acesso a shell, acesso a arquivos, ouvir música, navegar na web. Leva semanas e semanas até você ficar feliz com isso e aprender novas coisas o tempo todo. Você ficará aborrecido quando não tiver acesso a ele e mudará constantemente sua configuração. Você não poderá usar as versões do emacs de outras pessoas com facilidade e não será apenas instalado. Ele usa Lisp, o que é ótimo. Você pode transformá-lo no que quiser. (nada mesmo)
Com o Vim, quase sempre é pré-instalado. É rápido. Você abre um arquivo, faz uma edição rápida e sai. Você pode trabalhar com a configuração básica se estiver na máquina de outra pessoa. Não é tão editável, mas ainda é muito melhor do que a maioria dos editores de texto. Ele reconhece que na maioria das vezes você está lendo / editando sem digitar e torna essa parte mais rápida. Você não sofre de emacs pinkie . Não é tão irritante. É mais fácil aprender.
Mesmo que eu use o Emacs o dia todo, todos os dias (e ame), a menos que você pretenda passar muito tempo no programa que escolher, eu escolheria o vim
fonte
vi
vez devim
alias a isso.ssh
em outras máquinas. Foi por isso que aprendi primeiro - isso e porque meus amigos conheciam o VIM e podiam me ajudar. (Não apoio dos amigos subestimar qualquer um!)Vim não é uma concha. E não se comunica bem com subprocessos. Isso ocorre quase por design, enquanto no Emacs, esses elementos são incluídos por design. Isso significa que algumas coisas, como incorporar um depurador ou um intérprete (produzindo um tipo de IDE), são difíceis no Vim.
Além disso, os atalhos do Emacs são acessados principalmente por meio de modificadores, e obviamente a interface do Vim é famosa por modal, dando acesso a uma quantidade absurda de chaves diretas para manipulação.
O Emacs costumava ser o único editor dos dois que era programável e, embora o Vim tenha muitos níveis estranhos em sua programação, com a adição de ligações Python e Ruby (e mais, eu esqueço), o Vim também é programável da maioria das maneiras você se importaria.
Eu uso o Vim e estou bastante feliz com isso.
fonte
Vim:
Emacs:
Pessoalmente, prefiro o vim - ele é pequeno, faz o que deveria fazer e, quando desejo um IDE completo, abro o VS. A abordagem do Emacs de ser um editor que deseja ser um IDE (ou devo dizer, um SO), mas não é bem assim, está IMHO, desatualizado. Antigamente, ter um cliente de email, cliente ftp, tetris, ... outros enfeites em um pacote (emacs) fazia algum sentido ... hoje em dia, isso não acontece mais.
No entanto, ambos são um tópico de discussões religiosas entre os usuários da comunidade de programadores e superusuários e, a esse respeito, são excelentes para iniciar guerras de chamas se forem colocados em contato (na mesma frase / pergunta).
fonte
Se você está procurando uma análise objetiva de ambos os editores, observe as origens e a filosofia por trás de seus respectivos designs. Pense em qual deles seria melhor para você e aprenda-o (e aprenda-o e aprenda-o, porque leva um tempo para descobrir sua verdadeira utilidade contra qualquer IDE). Uma Introdução à Edição de Vídeo com Vi foi escrita por Bill Joy e Mark Horton e ele explica por que ele escolheu o design modal e a lógica para vários pressionamentos de tecla (isso me ajuda a lembrar que CTRL-W + W (passará para a próxima janela W e será o mesmo para CTRL W + CTRL W, caso você mantenha a tecla CTRL pressionada por mais tempo.
Aqui está um link para a linha do tempo do Emacs e tem a referência ao artigo do Multics Emacs. Aqui está o artigo da RMS sobre o Emacs , onde vejo que o estresse está em um editor de texto programável (mesmo em 1981 e antes).
Não li os jornais da emacs, mas li o vi de Bill Joy algumas vezes. Ambos são antigos, mas você ainda terá a filosofia e poderá optar por usar a ferramenta atual (vim 7.x ou emacs 25?)
Edit: Eu esqueci de mencionar que é preciso paciência e imaginação para ler esses dois documentos, pois leva você de volta no tempo enquanto lê. Mas vale a pena.
fonte
O Vim era sempre mais rápido do que o Emacs. Estou dizendo que em qualquer máquina, as instalações prontas para uso do Vim serão iniciadas mais rapidamente do que as instalações prontas para uso do Emacs. E eu costumo pensar que, após uma quantidade moderada de personalização de qualquer um deles, o Vim ainda será iniciado mais rápido que o Emacs.
Depois disso, a outra diferença prática foram os modos do Emacs. Eles tornam sua vida extremamente mais fácil ao editar XML, C / C ++ / Java / qualquer que seja, LaTeX e as linguagens mais populares que você pode imaginar. Eles fazem você querer manter o editor aberto por longas sessões e trabalho.
Em resumo, direi que o Vim o leva a realizar tarefas de edição curtas e rápidas; enquanto o Emacs incentiva você a mergulhar por longas sessões.
fonte
use-package
e sua:defer
opção, o meu Emacs abre quase imediatamente. Eu até desisti de usar o emacsclient.O VI está sempre disponível e será executado no modo de usuário único mais aleijado, gráficos quebrados, sem mapa de teclas, máquina de link lento - então vale a pena saber editar arquivos simples nele apenas para tarefas sysadmin.
O Emacs é uma interface de usuário completa em um editor. A idéia é que você inicie o Emacs ao iniciar a máquina e nunca a deixe. É possível ter milhares de sessões presentes.
Se vale a pena aprender os recursos do Emacs em comparação com o uso de um editor de GUI / IDE e algo como python / awk / etc para tarefas extras, você decide.
fonte
ed
que era "sempre disponível e será executado no modo de usuário único mais aleijado, gráficos quebrados, sem mapa de teclas, máquina de link lento". Espera, que ano é este? (Suspiro -ed
, eu nunca vou te esquecer.)Eu sou um fã-fã completo do Emacs, mas eu conhecia o VI muito antes de conhecer o Emacs. Dito isto, eu faço todo o meu pessoal aprender VI, porque está sempre disponível, em qualquer lugar. Não pode dar errado com nenhum deles.
fonte
Parece que uma resposta já foi selecionada, mas a grande diferença para mim sempre foi o modal versus o não modal. O Vim é modal, o que significa que ele faz otimizações com base em um conjunto específico de modos de uso. Pelo menos é assim que eu sempre olhei para isso. Isso torna o uso do Vim uma experiência diferente porque, em vez de ter uma área de trabalho na qual você digita o código, você realmente está dizendo a um ambiente para agir no texto. É por isso que as pessoas dizem coisas como no Vim: você realmente está aprendendo um idioma. O: wq e: s / foo / bar fazem parte de um ambiente semelhante a um shell que edita e lê texto.
O Emacs, por outro lado, está muito mais próximo da maioria dos editores / processadores de texto / etc. você vê hoje. Você tem um espaço de trabalho que possui uma interface altamente programável. É por isso que você vê coisas como email, irc, shells, etc. Como programador, é fácil pensar em termos de dizer "pegue o número da linha em que estou e faça algo com as informações". O desejo de deixar o editor se torna menor porque, em vez de sair, abrir outro aplicativo / idioma e fazer coisas em algum texto, você tem o Emacs, onde você pode fazer essas coisas no escopo do seu editor.
As duas idéias não são necessariamente contrastantes, mas é simplesmente que elas revelam dois focos diferentes. Pessoalmente, eu uso o Emacs, mas vi pessoas que conhecem o Vim muito bem e podem dizer honestamente que não importa qual você escolher. Eu tentei o Vim primeiro, mas o Emacs acabou me atrapalhando. É verdade que não importa o que você escolher, você deve ter pelo menos um pouco de proficiência no Vim, pois ele sempre está disponível.
fonte
Comecei com o vi, fui para o emacs e depois para o vim. Estou pensando em experimentar o Emacs para ver o que mudou nos últimos cinco anos. (Falando em IDE, eu entrei em eclipse por um tempo, mas eu prefiro minha janela de terminal conectando meu Mac à minha caixa Linux (do marido)).
A coisa de recortar e colar tem me incomodado ultimamente. Recortar e colar no Vim executa mais etapas do que no Emacs, IIRC. E colar de um navegador para uma janela de terminal é irritante, a menos que você faça algo sofisticado que eu não sinta vontade de fazer, então aguentei a indentação estranha. Eu acho que editar vários arquivos no emacs foi mais fácil. Pelo menos saltando de um arquivo para o próximo, se você tiver os dois na tela.
Eu não brinquei com os recursos sofisticados do vi ou do emacs, pois gosto de começar o negócio da codificação. Tudo o que eu preciso é das cores bonitas e da guia adequada para conversão de espaço (especialmente importante com python).
Eu acho que tudo depende se você deseja usar
:wq
ouCtrl-x Ctrl-s
(IIRC) para salvar um arquivo, se você não se importa com coisas sofisticadas.@mgb estava correto. Eu estive no linux mínimo para consertar algo há apenas um mês ou dois atrás em uma distribuição Debian. vi foi o único editor disponível.
fonte
:set paste
, cole seu texto e, quando terminar:set nopaste
, voltará ao modo normal. Há também o:set pastetoggle=<F2>
comando que irá alternar isso usando a combinação de teclas escolhida.^R^P+
para colar da área de transferência e manter o recuo atual.^R^O+
diminuirá o recuo.^R+
irá inseri-lo como se você tivesse digitado.:help i_^R^P
para mais informações.yyp
. Além disso, veja aqui para recortar e colar de e para diferentes janelas stackoverflow.com/a/8757876/654789Há uma enorme diferença no nível diário - o Vim (ou qualquer variante vi) é inerentemente modal (você entra em modos de comando onde não pode editar) e o Emacs (junto com a maioria dos outros editores) não.
Claro, usando menus e outros itens, você não precisa realmente entrar no modo de comando no Vim - primeiro. Mas para usar uma fração minúscula do poder do Vim, você precisará. Esse é o cerne do debate Vim / Emacs.
Pessoalmente, também acho que o Emacs é muito mais extensível. Você pode encontrar pacotes Elisp para muitas coisas.
Estou curioso, porém, por que você está pensando em aprender um desses sobre um IDE mais tradicional. Para que você deseja aprender um desses?
fonte
Muita coisa foi dita sobre os dois editores, mas eu tenho apenas cinco centavos a acrescentar. Ambos os editores são maravilhosos e você não pode dar errado com nenhum deles.
Sou usuário do vi / vim há cerca de 15 anos. Eu tentei converter para o emacs várias vezes, mas sempre descobri que o vim realmente pode fazer a coisa que está faltando imediatamente, sem a necessidade de escrever uma extensão lisp ou instalar algo.
Para mim, a principal diferença nos editores que o vim faz com que você use o ambiente / sistema operacional, enquanto o emacs tenta encapsulá-lo ou substituí-lo. Por exemplo, você pode adicionar uma data em seu texto: r! Date no vim, ou calendário com: r! Cal 1 2014, ou mesmo substituir o conteúdo do buffer com a versão hexadecimal do conteúdo. Por exemplo. :%! xxd, edite hex e volte com:%! xxd -r, e muitos outros usos, como grep embutido, sed, etc.
Outro exemplo é o uso com
jq
egron
. Por exemplo. Cole o json blob no editor e execute a transformação:OU
Cada um dos comandos canalizados acima pode ser executado separadamente via
:%!<command>
, where%
significa todo o documento, mas também pode ser executado na seleção, nas linhas selecionadas, etc. Aqui, o gronoutput
pode ser usado comojq
caminho.Você também obtém a funcionalidade de edição em lote do EX, por exemplo. Substituindo certas palavras, reformatando o código, convertendo caracteres de nova linha dos-> unix, execute uma macro em, digamos, 100 arquivos por vez. É facilmente feito com ex. Não tenho certeza se o emacs tem algo semelhante.
Em outras palavras, o IMHO vim se aproxima da filosofia unix. Geralmente é mais simples e menor, mas se você conhece seu sistema operacional e suas ferramentas, provavelmente não precisará mais do que ele (VIM) tem a oferecer. Eu nunca faço.
Além do vi, o padrão é padrão em qualquer sistema unix / linux, por que aprender a usar 2 ferramentas que fazem a mesma coisa? É claro que alguns sistemas oferecem mg ou algo semelhante, mas definitivamente nem todos eles. Unix + Vi <3.
Bem, apenas meus 5 centavos.
fonte
Para mim, os profissionais do emacs são,
fonte
Para mim, o emacs possui melhores ferramentas de desenvolvimento (não apenas ferramentas baseadas em tags).
fonte
Gostaria de colocar aqui uma citação do livro "A Arte da Programação UNIX":
O que realmente quero destacar aqui é o seguinte: " Muitas pessoas acham valioso conhecer os dois ."
fonte
Benefícios do Emacs
O Emacs possui uma interface não modal (por padrão) e uma modal (por exemplo, pode emular o vim e o vi através do Evil, Viper ou Vimpulse).
Um dos programas de computador mais portados. É executado no modo de texto e sob interfaces gráficas do usuário em uma ampla variedade de sistemas operacionais, incluindo a maioria dos sistemas Unix (Linux, os vários BSDs, Solaris, AIX, IRIX, macOSetc.), MS-DOS, Microsoft Windows, AmigaOS, e OpenVMS. Os sistemas Unix, gratuitos e proprietários, freqüentemente fornecem o Emacs fornecido com o sistema operacional.
A arquitetura do servidor Emacs permite que vários clientes se conectem à mesma instância do Emacs e compartilhem a lista de buffers, kill ring, desfazer histórico e outro estado.
Sistema de ajuda on-line abrangente com combinações de teclas, funções e comandos documentados em tempo real.
Variante da linguagem de programação Lisp extensível e personalizável (Emacs Lisp), com recursos que incluem:
Um gerenciador de arquivos poderoso e extensível (direcionado), depurador integrado e um grande conjunto de desenvolvimento e outras ferramentas.
Ter todos os comandos como uma função Emacs Lisp habilita os comandos para DWIM (Do What I Mean), respondendo programaticamente a ações passadas e estado do documento. Por exemplo, um comando alternar ou dividir janela pode alternar para outra janela, se houver, ou criar um, se necessário. Isso reduz o número de pressionamentos de tecla e comandos que um usuário deve lembrar.
"Um sistema operacional dentro de um sistema operacional". O Emacs Lisp permite que o Emacs seja programado muito além dos recursos de edição. Até uma instalação básica contém várias dezenas de aplicativos, incluindo dois navegadores da Web, leitores de notícias, vários agentes de correio, quatro clientes de IRC, uma versão do ELIZA e uma variedade de jogos. Todos esses aplicativos estão disponíveis em qualquer lugar que o Emacs execute, com a mesma interface e funcionalidade do usuário. A partir da versão 24, o Emacs inclui um gerenciador de pacotes, facilitando a instalação de aplicativos adicionais, incluindo navegadores alternativos, EMMS (Sistema Multimídia Emacs) e muito mais. Também estão disponíveis vários pacotes para programação, incluindo alguns direcionados a combinações específicas de idioma / biblioteca ou estilos de codificação.
Benefícios dos editores do tipo vi
Fonte: https://en.wikipedia.org/wiki/Editor_war
fonte
Agora você nem precisa pensar na diferença entre os dois por causa do Spacemacs . É uma distribuição Emacs orientada pela comunidade.
Como foi dito,
O Spacemacs combina o melhor do Emacs e do Vim, o que facilita muito a sua vida e trabalho.
Veja a captura de tela abaixo,
(fonte: spacemacs.org )
fonte
A maior diferença para mim na escolha de usar o emacs sobre o vim foi o suporte integrado ao gdb no emacs. O Vim não inclui isso na distribuição padrão e o projeto para integrar o gdb e o vim era quase impossível de se trabalhar com o MacVim
fonte
É como maçãs e laranjas. Ambos têm design e filosofia diferentes. O Vim é um editor de texto, enquanto o Emacs é um intérprete Lisp que faz a edição de texto.
Eu uso o Vim porque é rápido, lento e muito bom em manipular textos. Possui uma ligação de chave natural compostável que pode tornar suas tarefas de desenvolvimento realmente harmônicas. O Vim é baseado na simples filosofia * nix de fazer uma coisa muito bem - isto é, manipulação de texto.
Estender o Vim usando o bash / zsh e o tmux geralmente é fácil e permite que você aprenda muitas coisas. IMHO esta é uma boa curva de aprendizado. O importante é aprender a integrar essas coisas para obter um aplicativo de trabalho maior. Com o Vim, você precisará aprender a integração porque não se integra naturalmente, a menos que você diga como. Outra extensão que vale a pena usar é o Tig. É um front end baseado no Git. Eu só tenho uma ligação que abre o Tig silenciosamente e depois faço todo o material do Git lá.
Cabe ao usuário final decidir o que funciona melhor. O fato de o Emacs e o Vim terem resistido ao teste do tempo é prova de seu valor. Eventualmente, um bom programador não precisa de nada além de uma caneta e um papel para ser criativo. Bons algoritmos não precisam de editores para apoiá-los. Portanto, experimente os dois e veja o que o torna mais produtivo. E aprenda padrões de design com esses dois softwares, pois há muito o que aprender e descobrir!
fonte
O Emacs possui o modo viper, portanto, em algum sentido real, fornece um superconjunto de recursos (exceto os descritos em Quais recursos do Vim estão ausentes no Emacs com Viper e Vimpulse? ).
O vi (e o VIM IIRC) é mais leve (pode editar arquivos no local), mas oferece menos recursos (comunicação por subprocesso, idioma de extensão).
fonte
O Emacs é realmente um programa que faz tudo , e o vi (m) é apenas um editor. Se você estiver editando texto, ambos são bons, mas eu prefiro o emacs, simplesmente porque tenho que mudar um da linha inicial para me movimentar e continuar digitando as coisas erradas no modo de comando. Se você não tem esse problema, vi (m) pode ser o editor para você.
fonte
Um ponto de vista icterícia:
vi (não vim) é uma necessidade profissional. Você sempre tem alguma forma de vi facilmente disponível, independentemente do ambiente. Você pode estar no vi quando no emacs, no vi para criar comandos bash no unix-land.
Até o Microsquish precisa oferecer suporte ao vi (embora faça um bom trabalho de ocultá-lo) por causa do governo e da conformidade corporativa com os padrões publicados.
Na minha opinião, se você trabalha em um ambiente prático - não uma flor de estufa confinada a um equipamento sofisticado em um ambiente de desenvolvimento ou na academia -, saber muito sobre um editor sofisticado é uma desvantagem de emprego. Não aprenda todos os truques sofisticados no vim ou no emacs e não desenvolva várias macros para fazer com que o ambiente de edição se incline à sua vontade. É um enorme tempo gasto no seu caminho quando você atende a diferentes máquinas que provavelmente não pode justificar em um ambiente de fábrica.
Leia o artigo de Bill Joy - é um exercício de engenharia muito competente, talvez até bonito, na edição de texto simples, muito, muito rápido. A regra de Parito se aplica aqui: 80% da fruta está em 20% das cestas. Editar texto simples de maneira muito rápida é o ponto crucial da competência de edição - todo o resto é opcional - e às vezes prejudicial.
fonte
Se você se deslocar muito de um site para outro ou se seu trabalho envolve efetuar logon nos sistemas de produção, o vim é o caminho a seguir.
Todas as máquinas * nix terão o vi instalado por padrão.
A maioria dos sysdamins prefere o ksh como o shell padrão. O ksh usa as teclas de comando vi (ou emacs) para pesquisar o histórico e editar a linha de comando.
Se você não conhece bem o vi, você está gravemente deficiente ao fazer login em uma caixa unix com uma configuração padrão.
Por esse motivo, eu recomendaria o vim como seu editor diário normal. Eu já vi fãs do emacs arrancando os cabelos tentando alterar os arquivos de configuração em um servidor unix bare bones.
fonte
set -o vi
no seu.bashrc
, em vez deset -o emacs
, que é usado por padrão. Eu nunca usei o ksh, mas pode ser o mesmo.Na sua pergunta, você não mencionou que deseja programar no Lisp! Mas, como você comentou suas respostas, entendi que você realmente deseja uma interface de programação LISP.
Para essa tarefa precisa, simplesmente esqueça o Vi. A integração do Emacs com o LISP é maravilhosa! Você deve usar o SLIME. Você terá uma integração maravilhosa com o REPL, podendo
eval
funções, buffers ou arquivos diretamente em um intérprete em execução em um buffer emacs e muito mais ...fonte
Trabalho com spacemacs há cerca de 2 anos e neovim há cerca de um ano em um ambiente de produção / pesquisa. O Spacemacs é um emacs com alguns recursos extras interessantes, como camadas etc. E o neovim é um fork do vim novamente com alguns recursos extras.
Estou bastante insatisfeito com os dois em termos de experiência. E ainda estou procurando uma solução a longo prazo para minhas necessidades de edição de texto.
Aqui está uma comparação simples:
Neovim, vim, emacs, spacemacs, etc. todos esses editores consomem menos recursos em comparação com a maioria dos editores por aí.
O Neovim / vim é um pouco mais rápido que o emacs, notavelmente mais rápido que o spacemacs.
Em termos de experiência de edição. Posso dizer facilmente que os pacotes emacs parecem superiores. Eu acho que é porque eles se combinam melhor com o núcleo do emacs.
O Vimscript é legal e certamente existem ótimos projetos no ecossistema vim. O bom é que eles estão melhor documentados do que a maioria dos projetos do emacs que vi até agora.
Ambos podem ter falhas, dependendo do pacote que você está usando. Spacemacs tendem a congelar, e neovim tendem a exibir mensagens de erro assustadoras, então escolha seu veneno lá.
A edição modal no vim não é um conceito intuitivo, mas depois que você se acostuma, você deseja que seja assim. Ambos os editores fornecem isso.
fonte
Execução de teclas ::: A edição vi mantém cada permutação de chaves digitadas. Isso cria um caminho na árvore de decisão que identifica inequivocamente qualquer comando, enquanto os comandos do Emacs são uma combinação de chaves digitadas executadas imediatamente, o que deixa ao usuário a opção de usar ou não um comando.
Uso da memória e capacidade de personalização ::: vi é um programa menor e mais rápido, com uma capacidade mais limitada de personalização, enquanto o Emacs leva mais tempo para iniciar e requer mais memória. No entanto, é altamente personalizável e inclui um grande número de recursos, pois é essencialmente um ambiente de execução para um programa Lisp projetado para edição de texto.
fonte
O vim é um editor útil, você digita de forma simples
vim filename
para abrir o arquivo, editar, salvar e fechar.O emacs é um "sistema operacional" que finge ser um editor, você pode
eval
codificar para alterar seu comportamento e estendê-lo como quiser. Rmode
para receber / enviar email no emacs é como um software de email no sistema operacional.Ao fazer uma edição simples, por exemplo, modificar um arquivo de configuração, eu uso o vim .
Caso contrário, nunca deixo o emacs .
fonte
Eu acho que a principal diferença é o alvo do design. O VIM é para UNIX como um editor de trabalho. O Emacs é para hackers GNU e lisp, por isso possui algum elemento de design misto.
Eu uso o vim na minha estação de trabalho, enquanto eu amo o emacs também.
fonte
Sou fã do Emacs, mas incentivo outros desenvolvedores a aprender o VI porque:
Eu notei vários comentários sobre o VIM iniciando mais rápido que o emacs. Se você realmente se importa com isso, execute o emacs no modo servidor e alias 'emacs' para 'emacsclient'. O cliente é super rápido, pois tudo o que faz é tocar no servidor e informar qual arquivo você deseja editar. No MacOSX, o emacsclient tem apenas 33K enquanto o emacs tem 287M.
Não sei se isso é necessário no hardware moderno. No meu MacBook Pro (2013 Retina), o emacs é carregado quase instantaneamente quando eu o executo do shell. Não detecto nenhuma pausa. Quando executo o Emacs.app (a versão da GUI), pode demorar três segundos.
A maioria das reclamações que ouço sobre o emacs parece vir de pessoas mal informadas sobre o emacs. Tendo usado o vi e o emacs desde 1982, lembro-me definitivamente de uma época em que o emacs carregava muito mais devagar que o vi e usava a maior parte da memória física nas minhas primeiras caixas UNIX, mas esse não é mais o caso e não ocorre há pelo menos 15 anos. 20 anos.
Uma queixa que vou admitir é "emacs pinkie". Isso nunca me incomodou quando eu era mais jovem. Agora que tenho 58 anos, meu dedo mindinho fica um pouco dolorido ao acessar repetidamente a tecla Control para obter as músicas do emacs. Isso é especialmente verdade no teclado do MacBook Pro, onde o Control é movido uma posição para a direita, para abrir espaço para a tecla "fn". Não é tão irritante quando Control é a tecla inferior esquerda.
fonte
Eu era usuário do vim primeiro, depois mudei para o emacs, depois para o vim, agora estou experimentando o emacs novamente.
Como desenvolvedores, digitamos muito e, finalmente, para mim, mover-se em buffers e arquivos são as maiores tarefas repetitivas; portanto, quero um editor em que eu possa me mover mais rápido!
A motivação para experimentar o emacs novamente é que eu percebi que o Ctrl liderava os atalhos de teclado mais rápido que o vim e mais fácil de raciocinar.
No vim, você tem modos, você tem o modo de inserção, modo visual, modo normal, o que acontece quando você pressiona algo depende do modo que você é, é uma abordagem stateful para edição. Você se move, entra no modo de inserção, edita, sai do modo de inserção e se move novamente. Eu freqüentemente me perco se perder uma imprensa ESC ou algo assim.
No emacs não há modo, basicamente você pressiona Ctrl com o seu rosa e digita a tecla, como Cx Cf, Cx Cs, Cx Cc. Existem teclas onde você precisa soltar a tecla Ctrl, eu odeio essas e sempre as substituo por outras com o controle pressionado.
Eu acho que a abordagem do emacs é mais rápida de se pensar e digitar, mas o vim tem outra força. Seus comandos são compostáveis, geralmente têm um formato. Por exemplo, para excluir uma linha, você pode usar
dd
, para excluir uma palavradw
. Os plug-ins fazem uso desse corte, com o plug-in vim-surround você pode excluir aspas com ds "(delete surround"), excluir até o próximo /dt/
. Exclua até / / anteriordT/
e assim por diante. Então, enquanto você aprende, as coisas em movimento começam a ficar muito interessantes.Resumindo, hoje eu percebi que os keybinds do emacs são mais rápidos para edição de macro e os comandos vim são mais poderosos para microeditação
Eu tenho usado o vim nos últimos cinco anos, então edito pensando principalmente em palavras, linhas, circunvizinhas, blocos, etc. Exclua esta linha, remova aspas, substitua aspas, exclua palavras no cursor, estou tentando descobrir o emacs move para isso
Como uma citação final, eu diria que, me preocupo mais com o fzf do que com o emacs ou vim, adoraria ter um editor totalmente baseado em fzf
fonte
Em primeiro lugar, Vi (realização original) não usada hoje. O que você diz é uma derivação do Vim.
Para estender a funcionalidade do Vim, você deve recompilar o Vim, o Emacs não.
O Emacs possui o Vim no modo self (viper-mode).
O Emacs geralmente precisa de instalação manual, o Vim normalmente pré-instalado em todos os Unix, como o SO (mas se você tiver acesso ssh ao host no modo tramp, ganhe o Vim :).
Se você experimenta o Vim, odeia o Emacs, então comece primeiro pelo Emacs.
Leia também http://www.dina.dk/~abraham/religion/vi-tutorial.html (link desce, use isso )
Pesquisa de resposta em hxxp: //en.wikipedia.org/wiki/Editor_war
fonte