Meu trabalho diário é desenvolvedor Java / Web. Eu tenho usado o eclipse por ~ 5years. Eu acho que é excelente e eu também uso Webstorm para javascript e html / jsp.
Ocasionalmente, preciso ssh no servidor e mexer nos arquivos de configuração; por isso eu uso o vi e me dói. Preciso acessar uma página da Web listando a sintaxe / comandos: pressione escape e, em seguida, asterisco, vire três vezes e o texto será inserido duas linhas acima do cursor . Isso é tão pouco intuitivo para mim, e imagino quem cresceu no final dos anos oitenta e noventa.
Aqui estão as principais razões pelas quais eu acho que o eclipse é brilhante (e eu assumo outros IDEs) e não mude para o emacs e / ou vim.
- Erro ao destacar sem necessidade de recompilar o projeto.
- Assistente de código.
- Refatoração.
- Chamada de abertura hiearchy / Declaração de abertura.
- Totalmente integrado ao controle de origem.
- Depurador está incluído.
- disponibilidade de plugins de terceiros - por exemplo, findbugs / checkstyle.
Um dos argumentos que ouvi é que, com o emacs / vim, você pode criar seus próprios plugins - tudo bem, mas você também pode fazer isso no eclipse. Mas você não precisa, pois tudo já está lá! É como dizer: compre este carro semi-construído, você pode fazer o resto sozinho.
Por que as pessoas estão usando o emacs / vim? As pessoas que o utilizam realmente trabalham em projetos complexos orientados a objetos em grandes organizações?
Quais são os motivos para mudar para o vim / emacs. Como minha produtividade aumentaria se eu trocasse?
nano
, em vez devim
, simplesmente porque não uso uma CLI com frequência suficiente para ter aprendido todos osvim
comandos. Se você usá-lo apenas ocasionalmente, eu acho que algo simples comonano
poderia servi-lo melhor ...Respostas:
Use qualquer ferramenta que atenda às suas necessidades. Conhecer o VIM ou o Emacs é uma coisa boa se você precisar fazer login em um servidor remoto e editar um arquivo de configuração ou algo semelhante. Conheço o VIM razoavelmente bem, mas não o usaria para desenvolver em Java. É para isso que são criados o Eclipse, o Netbeans etc.
fonte
Emacs e Vi ainda têm um lugar.
Eles estão onipresentemente disponíveis em ambientes Unix e similares ao Unix e podem ser instalados na maioria das outras plataformas populares.
Eles são populares e estáveis, portanto, aprendê-los uma vez compensa a longo prazo.
Eles são executados sobre um terminal de texto, para que você possa usá-los em sessões telnet e ssh.
Eles fornecem modos de edição e destaque de sintaxe para uma ampla variedade de idiomas, incluindo idiomas muito novos e muito raros. (Essa é uma das minhas vantagens favoritas.)
A chave para entender esses programas, porém, é saber quais problemas eles originalmente deveriam resolver. Para o Vi, isso estava editando arquivos de texto em conexões terminais tão lentas quanto 300 Baud. Nesse ambiente, você não deseja exibir menus ou alterar radicalmente o conteúdo da tela, se puder evitá-lo.
O Emacs foi projetado para ser usado em um ambiente mais rápido. Sua força era poder ser carregado uma vez e nunca sair. O usuário poderia realizar qualquer outra tarefa necessária no Emacs sem sair, e geralmente de uma maneira mais amigável do que se tivesse que fazê-lo na linha de comando. As pessoas não tinham um ambiente gráfico de área de trabalho com uma janela do Emacs aberta. O Emacs permite que o usuário realize quase qualquer tarefa normal (e muitas estranhas) com apenas alguns toques de tecla. Qualquer coisa que não esteja embutida pode ser script.
Obviamente, as necessidades das pessoas mudaram muito desde que esses programas foram lançados, mas eles ainda têm alguns pontos fortes. Aprendi o básico de ambos e os uso semanalmente. Ainda assim, acho que seus pontos fortes costumam ser exagerados. Eles alcançaram um status tão lendário que as pessoas não admitem suas fraquezas e tendem a pensar que estão fazendo algo errado se o Emacs / Vi não as tornar mais produtivas que o Eclipse ou o Visual Studio.
Agora ao ponto.
Java é uma linguagem popular, com excelente suporte no Eclipse, e é provável que você esteja desenvolvendo código em um sistema operacional moderno que permita realizar rapidamente tarefas comuns e criar scripts para outras pessoas sem fazê-lo através do seu IDE. Eu não acho que faria sentido para você mudar.
fonte
Uso o emacs há mais de 5 anos. Não posso mais dizer as combinações de teclas que estou usando, meus dedos apenas se lembram delas e precisam olhar o teclado apenas para ver o que minhas mãos estão digitando.
Alguns anos atrás, comecei a usar o Eclipse e não há chance de voltar ao emacs livremente. Desculpe a memória muscular, mesmo sentindo sua falta
C-x r SPC 1
, Eclipse me torna muito mais produtivo e é isso que conta.Não, acho que você não deve mudar , mas dedique algumas horas para aprender o básico do vim, para não precisar mais procurar.
fonte
Provavelmente, você não deve mudar . O Vim é um excelente e poderoso editor de texto, mas não substitui um IDE e não deveria! O Eclipse é muito bom em seu subconjunto de itens específicos de IDE e o vim é muito bom em seu subconjunto de itens específicos de edição de texto. Cada um tem seu próprio foco diferente.
Eu sei que existem plugins que estendem a funcionalidade do vim para que ele possa fazer muitas das mesmas coisas específicas do IDE que um IDE. Mas ainda não é a principal força do vim, e um IDE quase sempre será capaz de fazê-lo melhor. Porque é nisso que eles estão focados.
O que faço no meu trabalho diário é usar o Visual Studio e o vim para editar C #. Funciona muito bem para mim, e eu nunca cortaria um deles para confiar exclusivamente no outro.
No que diz respeito ao emacs, eu não sou especialista, mas não acho que ele possa competir com os recursos de IDE do Eclipse quando se trata de Java (por favor, corrija-me se estiver errado). Se você está desenvolvendo no lisp, certamente pode ser considerado um excelente IDE, mas não acho que ele tenha o mesmo suporte para Java.
Portanto, se você deseja que um editor de texto mais poderoso use junto com o Eclipse, eu recomendaria definitivamente que você aprendesse o vim ou o emacs. Mas como um complemento, não como um substituto . Ele pode realmente render a longo prazo, mesmo que nenhum deles tenha uma curva de aprendizado particularmente fácil:)
Aqui está uma boa leitura longa sobre os pontos fortes do vim. E aqui está uma lista de alguns truques legais que você pode fazer.
fonte
Basicamente, leia isto (PDF) para ver por que o Emacs é poderoso. Depois que você conhece o Lisp, é quase trivialmente fácil criar extensões para ele (eu tenho vários fluxos de trabalho e implantações de controle de origem roteirizados por meio de um complemento que escrevi para mim
employer-mode
). Tanto quanto o que você listou acima;REPLs
vários idiomas a ele. Agora, eu tenhoruby
,python
,haskell
,common lisp
,scheme
eerlang
todos viciado em emacs. Aliás, o addon JavaScriptjs2-mode
possui uma "compilação" incremental completa, portanto destaca itens como erros de sintaxe, portanto é certamente possível, mas não a normaautocomplete.el
, acredito, verifique o wiki do Emacsgit-mode
incorporado no Emacs 22.3, não tenho certeza sobre outro controle de fonteDito isto, se você não gosta do Lisp e não pretende aprender, não posso recomendar honestamente o Emacs. A vitória que você obtém disso é aprender sobre a criação de ferramentas e a aplicação desses princípios para aumentar sua própria produtividade, não obtendo um monte de mods disponíveis e reunindo-os.
fonte
Eu vejo duas opções aqui:
nano somefile.conf
e você tem um bom editor. Você pode até adicionar realce de sintaxeEspero que isto ajude
fonte
Pessoalmente, gosto do Vim porque é extremamente bom na edição de texto, ou seja, é muito ergonômico (as combinações de teclas não pressionam muito minhas mãos e não preciso usar tanto o mouse) e eficiente de usar quando você pega o jeito. (que, obviamente, levará tempo e paciência, já que não é o editor mais intuitivo para iniciantes).
No entanto, eu preferiria o Eclipse para desenvolvimento Java em larga escala devido aos muitos recursos que estão prontamente disponíveis. Obviamente, existem alguns plugins que podem tornar o Eclipse um pouco mais tolerável.
fonte
Se você está feliz com o Eclipse, não mude.
Se você pode usar o Eclipse em qualquer lugar que precisar, não mude.
Se seu projeto / empresa praticamente usa exclusivamente o Eclipse, não mude.
Se você raramente precisar de algo mais, imprima uma folha de dicas para um dos editores e puxe-a para fora da gaveta quando precisar, e depois volte a usar o Eclipse.
Consulte a (mesma) pergunta em SO: https://stackoverflow.com/questions/1346820/what-are-the-efficiencies-afforded-by-emacs-or-vim-vs-eclipse
Quanto a responder: "As pessoas que o utilizam realmente trabalham em projetos complexos orientados a objetos em grandes organizações?" - Segure seu chapéu, filho, mas a resposta é "sim". Eu trabalhei em projetos com dezenas de milhões de linhas de código usadas no caminho crítico de projetar a própria CPU executando o computador que você está usando para fazer esta pergunta. E as pessoas experimentaram o Eclipse, mas o consideraram muito lento e desajeitado (embora, reconhecidamente, não estivéssemos usando Java).
fonte
O emacs e o vim são editores muito configuráveis e poderosos, e ambos proporcionam grandes vitórias de produtividade quando os conceitos básicos são compreendidos.
Vi vence com o que são essencialmente operações baseadas em conjuntos. Por exemplo, alterar todas as instâncias de "foo" para "bar" em uma definição de classe é uma linha.
O Emacs é igualmente poderoso, mas você precisa aprender o Emacs Lisp para usá-lo em todo o seu potencial.
Em ambos os casos, só vale a pena mudar se você planeja usar o emacs ou vi para tudo .
fonte
A melhor ferramenta (a curto prazo) é aquela com que você é altamente proficiente.
As pessoas usam a tecnologia com mais de 30 anos porque são altamente proficientes. Eles criaram seu fluxo de trabalho e hábitos em torno dessas ferramentas. Se você está mais familiarizado com um IDE moderno como o Eclipse, não há muitos motivos para mudar. Aprender a usar o Eclipse com mais eficiência é um investimento melhor do seu tempo (por exemplo, use o Mylyn ).
fonte
Atualmente, estou tentando mudar do NetBeans para o vim. Aprender vim leva tempo e prática, mas eu vejo suas vantagens, vamos chamá-las de "editores de GUI" para certos casos.
Mas, diferentemente de você, estou codificando principalmente Ruby e não preciso de toda a magia negra de geração de código, conclusão automática e refatoração de código que o NetBeans e o Eclipse oferecem. Se eu estivesse codificando Java ou C #, certamente não tentaria alternar.
fonte
Como usuário de longa data do emacs, acho o emacs bastante confortável como um ambiente de edição e desenvolvimento (e até certo ponto, ele também se integra ao processo de construção, controle de versão, pesquisa rápida contextual e afins, por isso acho que se qualifica como um "IDE").
Também me sinto realmente confortável com o uso de editores do vi e do tipo vi (comecei a usar o ed, porque achava o emacs muito complexo; em retrospecto, isso é inverso, mas me deu uma base sólida para o futuro aprendizado do vi). Eu uso o vi principalmente para "pequenas edições rápidas", principalmente em máquinas remotas onde o emacs não está instalado.
Para o seu cenário "Eu ocasionalmente preciso ssh no servidor e mexer nos arquivos de configuração; para isso eu uso o vi", recomendo um pequeno conjunto de comandos e algumas idéias gerais sobre o vi:
Não deve demorar mais de uma hora ou duas para brincar com o vi para estar no "Eu posso editar um arquivo de texto com confiança, mas posso não ser eficiente com ele" e isso é tão bom quanto você provavelmente precisará . Caso contrário, qualquer editor que não tenha dificuldades em converter automaticamente entre guias e espaços deve ser "bom o suficiente" para seus propósitos. Se o Eclipse estiver instalado em todos os seus servidores remotos, não vejo isso como um grande problema.
fonte
Eu sou muito um cara do Emacs. Eu o uso em toda a minha programação e incentivo ativamente meus colegas de trabalho a usá-lo também (e eles me ignoram ativamente). Acho isso muito mais produtivo do que qualquer IDE e nunca mudaria.
A menos que eu esteja escrevendo Java ou C # (e imagino que haja outras linguagens nesta categoria). Eles têm tais grandes bibliotecas de coisas com nomes longos, que os ganhos que começa de usar Emacs são completamente perdido na tentativa de se lembrar de tudo.
Eu certamente o encorajo a experimentar o vim e / ou o Emacs. Mas é provável que você volte ao Eclipse para Java.
fonte
Não tenho nenhum problema com os vários editores do UNIX disponíveis, mas apenas os uso sob protesto. Não, como eu disse, porque eu tenho um problema com eles, mas porque se eu tiver que usá-los, significa que nosso processo de implantação está de alguma forma ausente.
Provavelmente, isso merece um pouco mais de contexto: trabalho em soluções de comércio eletrônico em larga escala; tudo o que governa a execução de nossos sistemas é gerado por um processo de criação / implantação com um clique. Temos uma variedade de ambientes de teste para que, a qualquer momento, eu possa fazer uma alteração via Eclipse, verificá-la nos cvs e acionar uma compilação / implementação para provar que minha correção funcionou. Então, se eu estou hackeando o 'vi', é porque não podemos esperar a recuperação de uma hora de uma implantação ou porque a implantação não cobre os arquivos que estou editando e precisa ser ampliada então (caso contrário, invadirei o vi na próxima vez que o arquivo em questão precisar ser alterado).
fonte
Pessoalmente, ambos os programas me levam até a parede. O problema com o Eclipse é que ele fica lento quando você está trabalhando em um projeto grande e é quando não está fazendo 'Indexação DGLP' ou o que quer. deseja atualizar seu repositório? tem 15 minutos? Ah, e que tal aquele truque bacana em que você pressiona Ctrl-C algum texto e, em seguida, pressiona-o em algum lugar, mas em vez de ir para onde você quer, abre um arquivo completamente diferente e passa por outra coisa e você fica se perguntando o que estava lá em primeiro lugar. Ah, e eu mencionei trabalhar com o eclipse em um projeto grande em uma VPN? praticamente impossível.
Quanto ao vim, é agradável e rápido supor que você conheça a variedade de combinações de teclas completamente sem sentido para fazê-lo fazer alguma coisa e boa sorte se você se encontrar em algum modo desconhecido por acidente. Além disso, com o vim, você praticamente precisa conhecer toda a estrutura de diretórios de projetos em sua cabeça para abrir os arquivos corretos. A principal vantagem do Vim é que, em teoria, você pode criar código mais rapidamente porque é tudo chave, mas, na realidade, eu não me importo com a quantidade de texto que estou escrevendo, não com o volume de texto que importa, é a qualidade do código e, geralmente, a qualidade O código requer a observação de dezenas de arquivos por horas a fio, até você descobrir exatamente a coisa certa a digitar (que geralmente é muito curta).
O que eu desejo é que alguém escreva um programa de linha de comando, como o vim, que realmente tenha uma estrutura de diretórios como o eclipse ao lado ou algo que você possa expandir / contrair e abrir arquivos. Alguém sabe algo assim?
fonte
Se você não estiver satisfeito com o VIM ou o EMACS, poderá procurar nessa máquina outros editores de texto. Pode haver algum sabor de nedit ou gedit ou algo que você possa usar, que terá comandos mais familiares (ctrl x, c, v es fazem o que você esperaria, por exemplo).
Você provavelmente tem mais de duas opções na sua distribuição, vale a pena dar uma olhada.
fonte