Quais são os benefícios de aprender o Vim? [fechadas]

467

Como programador, passo muitas horas no teclado e faço isso nos últimos 12 anos, mais ou menos. Se há algo que eu nunca me acostumei durante todo esse tempo, são essas micro-interrupções constantes e irritantes e quase inconscientes que experimento durante a codificação, devido a algumas das tarefas mais comuns de edição de código. Coisas como copiar e colar simples de uma linha diferente (ou mesmo da mesma linha) ou mover 1 ou 2 linhas para cima ou para baixo da posição atual exigem muita digitação ou envolvem o uso das teclas de seta ... pior quando quero avançar - acabo usando o mouse. Agora imagine esse mesmo cenário, mas em um laptop.

Sempre considerei aprender o VIM, mas a quantidade de tempo necessária para dominá-lo sempre me fez querer voltar atrás.

Eu gostaria de ouvir de pessoas que aprenderam e se isso acaba sendo uma daquelas coisas que você não pode viver sem.

No trabalho, uso o VS2008, C # e R #, que juntos tornam a edição do código muito mais rápida e fácil do que nunca, mas, mesmo assim, acho que poderia gostar de não precisar usar o mouse.

E nem mesmo as teclas de seta.

armadilha
fonte
7
Não é necessário alternar entre o teclado e o mouse. No Mac, usei as teclas de navegação do emacs (ctrl-A, por exemplo), mesmo em um editor de GUI como o BBEdit ou o Xcode, apenas para evitar o movimento extra com o mouse.
28710 Craig S
236
Vale totalmente a pena o esforço. Saiba vim;)
Kyle Walsh
20
Você pode aprender o vim básico (esqueça o vi) em alguns minutos, basta digitar vimtutor no terminal e você será definido com o básico - o que você aprenderá nos próximos 20 anos depende de você. Estou curioso para saber como o VS2008, C # e R # o ajuda com os problemas relacionados a desperdiçar sua vida entre o teclado e as teclas de seta / mouse?
stefanB
43
Um dos melhores investimentos que já fiz.
21410 Johnsyweb
10
Eu criei este jogo para ajudar meu sobrinho de sete anos a aprender a se mover rapidamente no Vim: kikuchiyo.org A versão beta permite que você ataque inimigos com sabre de luz, 'i' para ataque à esquerda e 'a' para a direita: PI aprendeu Vim pelas mesmas razões que você fez. Eu achei a parte mais difícil de me acostumar. Espero que o jogo ajude a acelerar você, se precisar de ajuda :) Boa sorte! :)
kikuchiyo

Respostas:

249

Também uso o vi e o vim há 20 anos e ainda estou aprendendo coisas novas.

O site Best of Vim Tips de David Rayner é uma excelente lista, embora seja provavelmente mais útil quando você tiver alguma familiaridade com o vim.

Também quero mencionar o site do ViEmu, que contém ótimas informações sobre as dicas do vi / vim e, especialmente, o artigo Por que, oh POR QUE, esses malucos usam o vi? ( versão arquivada )

Andrew Hendrie
fonte
8
Sim, também estou sempre aprendendo coisas novas. Ainda meu editor favorito também.
Craig S
20
Eu me pergunto se isso é uma coisa boa ou ruim. Se você aprende constantemente coisas novas, a curva de aprendizado é REALMENTE íngreme, os recursos ficam REALMENTE ocultos e não há senso de domínio. Enfim, se você queria o RISC, foi com o vi em vez do vim, certo?
bastibe 23/03/09
7
@ Paperflyer: Eu tive os mesmos pensamentos. Se você ainda não domina-lo depois de 20 anos, que é uma dor de cabeça eu não tenho certeza se quero
Dinah
7
Como assim? Isso significa que, embora tenha muitos recursos, você pode continuar aprendendo, mas não precisa aprender todos eles para ser mais produtivo.
Arda Xi
5
"Por que, oh POR QUE, esses idiotas usam vi?" - Boa link, especialmente para a pergunta
184

Eu poderia viver sem isso? Facilmente.

É útil? Sim.

Razões para aprender

  • O vi é garantido que existe em todos os sistemas Unix e existe na maioria dos sistemas Linux. Esse tipo de cobertura ampla faz o aprendizado valer a pena.

  • É muito mais rápido usar o vi para uma sudoedição:

    $ sudo vi

  • Além disso, o GMail usa comandos vi-ish para selecionar e mover e-mails!

Você não precisa ser um mestre.

Apenas aprenda

O básico:

  • Como alternar do modo de comando para o modo de inserção i
  • Como alternar do modo de inserção para o modo de comando Esc
  • Como navegar até uma linha no modo de comando k
  • Como navegar por uma linha no modo de comando j
  • Como navegar para a esquerda em um caractere no modo de comando h
  • Como navegar corretamente por um personagem l
  • Como salvar um arquivo :wEnter(gravação)
  • Como sair sem salvar (no modo de comando) :q!Enter
  • Como desfazer u
  • Como refazer Ctrl+r
  • Você pode combinar escrever e sair (no modo de comando): :wqEnter

A partir daí, o resto apenas o tornará mais rápido.

Trampas Kirk
fonte
Eu sempre usei "vi é fácil; você usa a tecla ell para mover o cursor para a direita" como uma maneira cómica (espero) de apresentá-lo. Mas estou usando há muito tempo e não ficaria sem. No entanto, não posso reivindicar mais de 25 anos para outro casal, portanto, nenhuma resposta minha.
31416 Jonathan Leffler
16
Foi assim que eu aprendi. Comece com o mínimo e desenvolva um pouco a cada dia. Aproveite o tempo para aprender uma maneira um pouco melhor de realizar uma tarefa. Veja os "7 hábitos de edição de texto altamente" para inspiração.
Ben
Gmail, atalhos de teclado de pesquisa experimental do Google, atalhos de teclado do Slashdot, man e menos usam ligações do tipo vim. Surpreendeu-me descobrir que acidentalmente as aprendi sem conhecer o vim! Até o Firefox usa / para pesquisa incremental (com semântica ligeiramente diferente de Ctrl + F).
Adam Rosenfield
29
[:] [X] [Enter] é igual a [:] [W] [Q] [Enter]
Vitalii Fedorenko
20
[Z] [Z] é o mesmo que [:] [X] [Enter]
Kos
138

Executar o vimtutor levou apenas 30 minutos, o que foi suficiente para me familiarizar com o vim. Valeu a pena cada segundo disso.

Blorgbeard
fonte
Se você conhece um link explicativo melhor, altere o meu :)
Blorgbeard está fora de
43
O vimtutor é exatamente isso, um tutorial. Eu fiz isso todos os dias por cerca de 10 dias. A primeira vez que demorei cerca de 30 minutos, no dia seguinte, 20 e depois 15. No final da semana, tive a maior parte de seu comando impresso em minha mente. Acho que, em vez de tentar memorizar, a repetição é a melhor maneira de abordar o Vim. 15 min todos os dias durante uma semana parece um preço realmente pequeno.
Michael Ekoka
28
Que tal quando terminamos o VIMTUTOR? Qual é o próximo passo para saber mais?
precisa saber é o seguinte
3
@privatehuff: leia e aplique Sete hábitos de edição de texto eficaz .
precisa
1
Uau! isso era como um daqueles itens escondidos em um jogo. Estava ali no meu sistema e eu não sabia que existia. Um dos tutoriais mais úteis e rápidos do vim. Usando o vim por um tempo, eu ainda aprendi alguns truques básicos que eu não conhecia. recomendado para todos. Também é uma pequena sugestão: se você estiver usando o vim em um laptop que possui um touch pad e suporta gestos, desative-o antes de usá-lo, pois, se tocado acidentalmente, pode mover o cursor para locais inesperados, às vezes desperdiçando uma boa edição inteira.
Barracuda
69

Se você é um programador que edita muito texto, é importante aprender um Editor de texto sério. O Editor de texto sério que você aprende não é muito importante e depende muito dos tipos de ambientes em que você espera editar.

O motivo é que esses editores são altamente otimizados para executar os tipos de tarefas que você fará muito. Por exemplo, considere adicionar o mesmo pedaço de texto ao final de cada linha. Isso é trivial em Um editor de texto sério, mas ridiculamente complicado de outra maneira.

Geralmente, os recursos matadores do vim são considerados: A) que está disponível em praticamente todos os Unix que você já encontrou e B) seus dedos raramente precisam sair da linha de casa, o que significa que você poderá editar o texto muito, muito rapidamente . Também é geralmente muito rápido e leve, mesmo ao editar arquivos enormes.

Existem muitas alternativas, no entanto. O Emacs é o exemplo mais comum, é claro, e é muito mais do que apenas um editor de texto avançado, se você realmente se interessa por ele. Pessoalmente, sou um usuário TextMate muito feliz agora, depois de anos usando o vim / gvim.

O truque para mudar para qualquer uma dessas opções é forçar-se a usá-las da maneira que elas foram planejadas. Por exemplo, no vim, se você estiver executando manualmente todas as etapas de um processo de várias etapas ou se estiver usando as teclas de seta ou o mouse, provavelmente haverá uma maneira melhor de fazê-lo. Pare o que está fazendo e procure.

Se você não fizer mais nada, aprenda os controles básicos de navegação do vim e do Emacs, pois eles aparecem em todo o lugar. Por exemplo, você pode usar controles no estilo Emacs em qualquer campo de entrada de texto no Mac OS, na maioria dos shells do Unix, no Eclipse etc. Você pode usar controles no estilo vim no comando less (1), no Slashdot , no gmail , etc.

Diverta-se!

Ryan Bright
fonte
7
Isso tem um ponto que muitas pessoas ignoram. Quase qualquer tarefa repetitiva possui um atalho. Os desenvolvedores adoram atalhos. Como disse a rbright, se você estiver executando uma etapa repetidamente, pare e veja se alguém já documentou um atalho.
AvatarKava 28/02/09
A) foi uma das maiores razões para eu usar o VIM - eu originalmente era um cara do emacs, mas nem todos os sistemas tinham e às vezes era lento na rede ou em servidores ocupados. O VIM é onipresente, pequeno e rápido.
jpeacock
3
Meu editor está constantemente fazendo piadas ruins. Eu deveria mudar.
Greg Graham
Você me disse: "Se você é um programador que edita muito texto, é importante aprender um Editor de texto sério". A pior parte é que parece impossível aprender dois (muito menos mais) por dentro e por fora, quase por definição. Você está estudando casos extremos em algum momento, e o conhecimento de como realizar a Tarefa X em um não costuma ser traduzido. E sempre há coisas que faço nos editores "periféricos" - ainda uso o JEdit para JTidy, Code2HTML, para pesquisar vários arquivos, por exemplo. Seu principal é o lançamento dos dados, e não há bala de prata, mas sim, aprenda absolutamente um e jogue com muitos. ; ^)
ruffin
1
@ruffin É verdade, você não pode realmente dominar dois editores diferentes ao mesmo tempo: se você dominar um editor, estará usando muitos de seus comandos inconscientemente , e isso significa que você provavelmente tentará usar o mesmo comando quando você estiver usando o outro editor. Quantas vezes amaldiçoei meu navegador por não me permitir corrigir recuos com um simples <esc> >i{... É realmente o mesmo que com a digitação por toque: você aprende um layout de teclado e mantém-se nele porque nunca será capaz de parar seus dedos digitando as teclas erradas em um layout diferente.
cmaster - reinstate monica
36

É definitivamente vale o esforço.

Há uma razão óbvia que qualquer pessoa que usa Vi(m)lhe dirá, e duas outras que as pessoas parecem nunca mencionar.

Aqui está o óbvio:

  1. vi é ao mesmo tempo onipresente e incrivelmente poderoso e, aprendendo uma vez, você ganha a capacidade de exercer esse poder em praticamente qualquer computador que possua teclado.

E estas são as razões menos conhecidas para aprender Vim:

  1. Não é nem metade do esforço que você pensa que será. Execute o tutor do Vim uma vez ( vimtutorem um shell ou no Windows, execute-o na pasta Vim, no Menu Iniciar), e você já estará no caminho da competência, e tudo fica ladeira abaixo. Eu estava no nível em que poderia usar Vimno trabalho sem sofrer nenhum impacto perceptível na produtividade em menos de uma semana no horário de almoço.

  2. É divertido ! Editar texto é como um jogo para mim agora. Eu gosto ativamente - o que é bastante ridículo, quando você pensa sobre isso.

Há também duas boas razões para não aprender Vim:

  1. É viciante e você desejará poder usar Vimcomandos em toda a sua computação e xingar sempre que não puder. Felizmente, pelo menos em algumas situações, há maneiras de contornar isso .

  2. Mais uma vez, é viciante e, embora você não perca produtividade com o uso Vim , perderá horas procurando boas dicas para tornar sua Vimexperiência ainda melhor e lendo a tag Vim no Stack Overflow.

Rich
fonte
12
Haha número 2 por razões "não" para aprender VIM é tão certo. Durante todo o tempo em que salvo a edição de texto, passo a ler sobre edição de texto. Ridículo.
Karl Floersch
Sim, eu gostaria de poder jogar vale de stardew usando hjkl ...
xis
32

Definitivamente, vale a pena aprender vim ou emacs. Também vale a pena aprender a digitar. Nos dois casos, as razões são as mesmas: seu pensamento não é mais interrompido pelo processo mecânico de colocar seu código na tela .

Quanto a como começar, basta mergulhar e começar a usar o vim para tudo.

PS O debate emacs-vs-vi é interminável. Uso o emacs há 26 anos. Se eu recomeçasse hoje, aprenderia o vim porque (a) ficou melhor eb) há muito menos teclas modificadoras (Ctl-Alt-V, qualquer um) e os usuários do vim parecem ter muito menos problemas de digitação.

Norman Ramsey
fonte
O RSI é o único risco ocupacional dos desenvolvedores. Nunca pensei dessa maneira, mas aposto que esse é um ponto muito bom. É muito mais difícil digitar acordes do ponto de vista muscular. Eu sabia que havia uma razão assassina para usar o vi!
DigitalRoss
1
Eu usei os dois, fui "batizado" com o vim e aprendi emacs alguns meses atrás. Prefiro o vim porque as tarefas estão divididas - você está editando ou inserindo, não fazendo as duas coisas. Essa distinção me ajuda a pensar no que estou fazendo, além de fazer com que os comandos "normais" sejam 1-2 pressionamentos de tecla, em vez de 2-4. Eu só queria que o vim fosse baseado em Lisp (e não, o modo viper não suporta todos os meus recursos padrão do vim. Sim, eu poderia fazer o meu próprio, mas estaria com saudades deles sempre que tocasse em um novo computador / sistema)
Wayne Werner
1
@WayneWerner Estou realmente desatualizado, mas você poderia controlar toda a sua elisp para poder sincronizá-los através de computadores.
YuriAlbuquerque 18/07/12
@YuriAlbuquerque, comecei a pensar seriamente em criar um script de configuração do ambiente automático, mantendo todos os meus arquivos de ponto no github ou algo assim.
Wayne Werner
17

Você pode obter uma boa funcionalidade fora do vim aprendendo os significados de apenas 16 teclas: ijkdbw9:q!%s/nNEsc. Você pode fazer os ossos nus com apenas i:wqEsc.

As duas primeiras teclas que você precisa saber são: Escleva você ao modo de comando (o modo em que você inicia) e ileva você ao modo de inserção (digitação normal).


Para salvar, você precisa

  1. saia do modo de digitação ( Esc)
  2. digite dois pontos :
  3. digite minúsculas e wdepoisEnter

Para salvar e sair, você precisa

  1. saia do modo de digitação ( Esc)
  2. digite dois pontos :
  3. digite minúsculas e wqdepoisEnter

Para não salvar e forçar o encerramento, é necessário

  1. saia do modo de digitação ( Esc)
  2. digite dois pontos :
  3. digite minúsculas e q!depoisEnter

Para saber mais, você pode executar vimtutorna linha de comando. É uma lição de tamanho médio e bem estruturada.

Além ie Esc: você pode replicar ou superar apenas algumas funcionalidades do MS Word jkwbd3:%s/nN.

  1. bleva de volta uma palavra ( Ctrl+ )
  2. wleva uma palavra adiante ( Ctrl+ )
  3. 9w leva você para a frente nove palavras
  4. dbexclui a palavra anterior ( Ctrl+Backspace )
  5. d3b exclui três palavras anteriores
  6. 9j desce 9 linhas
  7. / ornithopter Enterleva você para a próxima ocorrência da palavra "ornitóptero", em seguida, ne Npara o próximo e anterior ocorrência de "ornitóptero", respectivamente.
  8. :%s/confounded/dangfangled/ Entersubstitui cada "confundido" por "dangfangled" (como find and replace allno MS Word)

Qualquer um desses deve ser executado no modo "comando" ( Esc), não no modo de inserção ( i).

isomorfismos
fonte
16

Recentemente, mudei para o VIM e acho que vale a pena. Se você precisar "apenas fazer algo", sempre poderá permanecer no modo de inserção, onde o vim é (na maioria das vezes) como um editor de texto normal.

Percebi que coisas que não costumavam me incomodar, como pegar as teclas de seta, agora parecem erradas e com muito esforço. Definitivamente diminuiu o movimento da mão e o uso do mouse, o que é bom tanto para ergonomia quanto para produtividade

Gabe Moothart
fonte
12

Depende do que você deseja fazer com o VIM. Não faz sentido aprendê-lo apenas porque muitas pessoas não podem viver sem ele.

Quando eu trabalhava muito em ambientes UNIX, não podia viver sem ele. Mesmo quando o VIM não estava instalado em uma máquina UNIX, eu podia pelo menos usar o vi. Você sempre pode contar com isso - mesmo que a máquina não seja sua (a do cliente).

Agora eu programo em C # e trabalho principalmente no ambiente Windows. Eu instalei o VIM no meu PC ... e não preciso dele.

Avalie se você realmente precisa do VIM e se ele é compatível com seu "fluxo de trabalho". Experimente. Brinque com isso. Se você acha que precisa, mantenha-se ... a curva de aprendizado é muito acentuada.

Theo Lenndorff
fonte
Há uma extensão visual studio para os utilizadores da VIM, vê-lo em visualstudiogallery.msdn.microsoft.com/...
halb yoel
10

Eu aprendi vi porque precisava.

Meu professor maluco nos forçou a aprender a programar em C usando um terminal para um sistema AIX.

Foi uma dor real, mas vale a pena.

Hoje, eu só uso o vi para edições rápidas ou pequenos programas.

Quando tenho que ir para um projeto, prefiro usar o IDE. No meu caso, a ideia do IntelliJ é muito boa na tarefa, porque eu posso codificar por horas sem pegar o mouse.

Não sei quanto atalhos o VS2008 possui, mas se eles são tão detectáveis ​​quanto o Eclipse, acho que você está com problemas, vá para o vi.

Se você NÃO editar código fora do IDE e seu IDE tiver bons atalhos, é melhor aprendê-los e, então, vá e aprenda o vi de qualquer maneira.

:)

OscarRyz
fonte
Ele pediu que os benefícios do VIM não fossem uma opinião.
Blaze349
@ Blaze349 não, ele pediu para ouvir sobre as pessoas como aprendeu (veja o post original aqui), que é exatamente o que eu respondi. Esta pergunta tem quase 8 anos e passou por várias revisões ao longo dos anos, minha resposta foi igual à original. Leve isso em consideração ao comentar.
OscarRyz 13/07/19
9

Eu uso o vi / vim há mais de 25 anos. Se você já conhece algum editor de linha de comando, talvez não precise aprender o vi / vim. Mas se você não conhece muito bem outros editores de linha de comando, vale a pena aprender. É muito fácil ser produtivo no vi / vim com pouco esforço.

Craig S
fonte
6

Eu uso o VIM praticamente agora.

Eu costumava usar o Vim para edição e o VS Editor para depuração. Provavelmente isso parece um pouco louco, mas eu achei o paradigma Vi (macros, edição baseada em chaves domésticas etc.) um aumento na minha produtividade, pois a edição no VS era muito interessante.

Graças a Viemu , nem preciso mais fazer a troca. Ainda não é a solução perfeita (o preenchimento de código às vezes não é tão elegante quanto no vim nativo e a gravação de macro não é perfeita), mas é muito melhor do que alternar constantemente.

A curva de aprendizado do Vim provavelmente é exagerada. Eu acho que quando você entra, é bastante intuitivo.

RedBlueThing
fonte
5

Meu trabalho me forçou a pegar o vim e rapidamente se tornou uma segunda natureza. Agora, minhas reclamações são sobre IDEs que não possuem emulação ou plugins do vim. Percebo que a tecla esc se tornou meu inimigo fora do vim.

Encontrei vários emuladores para vi no Visual Studio:

http://code.google.com/p/vim-visual-studio/

Courtland
fonte
4

Em primeiro lugar, um bom conhecimento do vi (m) poupará o tempo necessário para realizar edições de emergência de arquivos de configuração em um servidor em sigilo. Ele pode suportar uma conexão ssh lenta.

Se necessário, o método de entrada do vim será sua melhor defesa contra o túnel do carpo se você o usar efetivamente com um teclado ergonômico.

A melhor maneira de ver o ponto do vim é iniciar um projeto casual em casa, desconecte o mouse e prenda as teclas de seta.

E leia a ajuda

Michael
fonte
4
Eu também encontrar o Vi modelo de entrada grande para defender-se da síndrome do túnel do carpo ...
CMS
teclas de seta? tente no seu .vimrc: map <up> <nop> mapa <down> <nop> mapa <left> <nop> mapa <right> <nop> imap <up> <nop> imap <down> <nop> imap < left> <nop> imap <right> <
nop
1
Gostaria apenas de salientar que existe nanomuito mais fácil de usar do que o vim, e é quase igualmente difundido.
MightyPork
4

Duas vantagens do vi / vim:

  • é muito leve

  • está instalado em quase todos os sistemas * NIX

Colin
fonte
8
por que você colocou * em vez de U?
Kamran Bigdely
4
@kami: um pouco tarde, mas aqui está: en.wikipedia.org/wiki/Unix-like
orlp
O Vim é realmente "muito leve" em comparação com a maioria dos outros editores de texto?
Ben
4

Estou mantendo um projeto linux muito grande no computador remoto. Não há escolha para usar Eclipse ou IDE baseado em GTK semelhante. Eu trabalho lá há 3 anos. E eu configurei meu vim apenas para este projeto. E ainda aprimorando.

Agora eu posso fazer qualquer coisa no Vim: controle de origem, sql, depuração, compilação, navegação - navegação muito rápida em código-fonte de 1Gb.

O Visual Studio ou Eclipse não conseguiu lidar com tudo isso. E se eu tivesse uma escolha, não mudaria o Vim para outro editor ou IDE.

Mykola Golubyev
fonte
4

Eu aprendi Vim. Não foi muito esforço. Agora eu absolutamente amo ci "ci (cw V: s / de / para / g

thomasrutter
fonte
3

Eu diria que o vim definitivamente vale a pena aprender. Eu o peguei no último verão e agora é meu editor de escolha para quase tudo (o java é um exagero, mas factível quando não preciso de amplo suporte à análise). Como todos já afirmaram, é uma ferramenta maravilhosamente eficiente.

Pelo que vale a pena, eu aprendi apenas um subconjunto bastante pequeno dos recursos do vim (que levaram um dia ou dois) com um tutorial gráfico e algumas probabilidades e fins daqui (leitura longa), além da funcionalidade de pesquisa e substituição, e eu foi fisgado. Eu aprendi coisas desde então, mas no meu lazer. Eu diria que a curva de aprendizado se achatou nesse ponto, mas então, eu a estava usando bastante e estava cercada por outras pessoas que também estavam.

Ellery Iniciante
fonte
3

Estou na mesma situação que você e, como iniciante no Vim, originalmente achei um pouco assustador - a curva de aprendizado parece íngreme. Pelo que aprendi em apenas algumas horas, já sinto que não poderei viver sem ele.

Aqui está um poucos ligações que eu encontrei para screencasts Vim úteis para mostrar o que ele é capaz.

Um bom conselho que Bram Moolenaar (ditador benevolente do Vim) deu nesse último link é que seria ineficiente tentar aprender todos os comandos e funções, apenas descubra o que você está fazendo e não funcionando muito bem, procure uma maneira de torná-lo mais eficiente e, em seguida, torne-o um hábito.

Andy
fonte
3

Sim, definitivamente reserve um tempo para aprender pelo menos um pouco de 'vi' e 'vim'. Viaja muito bem.

Você nunca ficará preso quando se deparar com um sistema Unix / Linux / Mac do cliente para o qual não possui recursos de instalação. Mesmo no Windows (se você tiver recursos de instalação), o 'Vim' é gratuito e fácil de instalar. (Em vez de investir sua curva de aprendizado puramente em algo como o UltraEdit, que embora um excelente editor possa não estar disponível para você o tempo todo ...).

O Learning vi pode configurá-lo para aprender outras ferramentas como 'sed' e regex em geral: coisas geralmente transferíveis.

Além disso, se você quiser ser um nerd adequado, basta saber 'vi / m' ou parecerá um falso ;-)

monojohnny
fonte
2

Eu acho que definitivamente vale a pena o tempo e o esforço para aprender o vim. Para mim, torna a digitação e a navegação pelo texto tão eficientes que é difícil imaginar voltar ao emacs ou aos combos ctrl / shift / alt / meta key.

Não se deixe intimidar por todos os recursos sofisticados do vim. Depois de usá-lo o suficiente, você descobrirá quais comandos mais usa e descobrirá quais coisas pode esquecer.

Andy White
fonte
2

A incrível onipresença do Vim, e a ainda mais surpreendente onipresença dos Vi-clones em geral, apenas nos sistemas Unix são suficientes para fazer valer a pena aprender.

Além disso, todo o pensamento no estilo Vi é algo que eu realmente acho que me tornou um pouco mais produtivo. Para uma pessoa não acostumada a modos como o modo de comando e o modo de inserção, parece um pouco excessivo ter que entrar em um modo apenas para inserir texto. Mas, quando alguém usa o Vim há alguns meses e aprendeu algumas dicas e truques, o Vim parece ser um ativo que parece valer a pena.

Claro, a multidão do Emacs diz a mesma coisa com relação ao estilo de pensamento do Emacs, mas desisti de aprender o Emacs porque o Vim era mais simples e fazia o trabalho por mim.

James Mishra
fonte
2

Aprendi a gostar do vi depois de assistir alguém que era muito habilidoso com ele navegar para fazer edições em um clipe incrivelmente rápido. Você realmente pode codificar rapidamente com ele. Outro motivo pelo qual gosto é que, às vezes, acho que passar o mouse em um IDE realmente machuca minhas mãos depois de um tempo e o vi fornece uma boa mudança. Como outros já mencionaram, também quase sempre está disponível em sistemas unix e funciona bem mesmo em conexões ruins.

Uma coisa que eu não vi mencionado é que conhecer o vi tem o benefício adicional de "geek cred" em alguns círculos. Posso pensar em pelo menos algumas pessoas que riem quando vêem um novo programador iniciar o nedit para fazer algumas alterações em um arquivo.

Dana Robinson
fonte
2

Não se assuste com o número de comandos, eu não conheci ninguém que usou mais de duas dúzias no máximo. Eu acho isso indispensável, porque quando estou pensando em código, estou pensando em texto, passar a pensar em ratos apenas me atrapalha. Os grandes truques, acho, são aprender um pouco de cada vez e não hesitar em brincar - os recursos de desfazer são ótimos para explorar seus comportamentos.

Além disso, se você se aprofundar nisso, o vim é programável. As possibilidades são literalmente infinitas.

(Sim, tudo isso também se aplica ao emacs ...)

Kim Reece
fonte
2

Fiquei feliz com o meu bloco de texto e compreendi o mundo até ter que começar a trabalhar com servidores rodando em Linux. Foi necessário script remoto e configuração de arquivos de configuração!

Foi difícil no começo, mas agora eu posso facilmente configurar e ajustar meus servidores.

Cesar
fonte
2

Você pode aprender o vim porque talvez não esteja satisfeito com os editores que já está usando.

Você pode aprender o vim porque muitas pessoas dizem que é legal. Veja quantas respostas você tem para esta pergunta.

Vou fornecer um motivo adicional para aprender o vim. Ele tem uma reputação pela qualidade e integridade de seus documentos. Portanto, você encontrará a maioria das respostas para suas perguntas em seu sistema de ajuda assim que conseguir colocar as palavras-chave adequadas em suas consultas de ajuda.

Anônimo
fonte
2

Para aprender vi (m) rápido, é preciso primeiro entender todo o design. O Vim possui um ótimo conjunto de comandos de movimento do cursor, verifique alguns (X é um caractere, # um dígito):

jk insira as setas 0 $ w W b B controle e controle controle e controle HML fX FX tX TX; % gg N n mX 'X' '

e muito mais, seria chato enumerar. Muitos deles suportam uma contagem antes do comando, como 4j para mover 4 linhas para cima.

Agora, de volta ao design, você digita um comando como d para exclusão seguido de um movimento do cursor e o comando se aplica à parte do texto da posição do cursor até o final do movimento. Por exemplo, H se move para o topo da tela, dH exclui para o topo da tela e cH muda (substitui) para o topo da tela.

Este design é bastante poderoso. Também reduz, ou organiza, o que você precisa aprender. Definitivamente, o primeiro passo é aprender alguns comandos de movimento do cursor. Digamos, 8 ou 10 no início. Então você está quase pronto.

Juan Lanus
fonte
2

Aprender algo novo vale sempre a pena, IMHO. Sugiro que você imprima uma folha de dicas e se force a usá-la dia após dia.

mudar de modo
fonte
Há uma história em chinês dizendo que alguém aprende com um professor como massacrar dragões. Depois de se formar, ele nunca consegue encontrar dragões reais para massacrar. Não estou dizendo vi, mas é moral desta história que às vezes aprender algo é apenas perda de tempo.
Earth Engine
2

Definitivamente, vale a pena aprender o Vim para resumir parcialmente o que foi afirmado anteriormente aqui e os principais motivos:

  • O Vi / Vim pode ser encontrado na maioria dos sistemas unix.
  • O Vim permite que você codifique facilmente sem tirar as mãos do teclado.
  • Se você planeja configurar qualquer coisa em um sistema baseado em Unix, é provável que esteja editando alguns arquivos de configuração, portanto, desejará aprender um editor baseado em terminal, do qual o vim é um dos melhores (desculpe emacs).
  • O Vim compila / possui binários pré-compilados para quase todos os sistemas operacionais existentes. Não há necessidade de postar "Eu preciso de uma alternativa para o [inserir SO]", você terá o Vim!
  • Existem muitos plugins bons por aí para adicionar muitas funcionalidades, como diffs de cvs no editor, embora alguns deles exijam uma quantidade razoável de ajustes.

Além disso, se você achar que gosta das ligações de teclas do Vim, também existem IDEs que incluem ligações de vim em seus editores para comandos simples, por exemplo, Komodo Edit .

Para obter ajuda sobre como aprender o Vim, tente digitar 'vimtutor' no seu terminal e siga as instruções. Há também um livro particularmente bom, o Hacking Vim

Jamie
fonte
2

Não. Aprender vim vale mais que o esforço.

ojblass
fonte