it-swarm-pt.tech

Qual é a melhor maneira de se forçar a dominar o vi?

Há um bom tempo, eu li m artigo do criador do viem , esclarecendo muitos equívocos sobre o vi, assim como explicando porque é uma boa idéia (e porque ele tem sido muito popular para o últimos 30 anos +). O mesmo cara também tem m grande conjunto de folhas de dicas gráficas que ensinam o básico alguns bits de cada vez.

Estou convencido.

Eu tenho sido convencido pelos últimos 2 anos de fato. Mas eu ainda não consegui me forçar a aprender vi como meu editor principal, a curva de aprendizado é muito alta. Quando eu começo a trabalhar, uma produtividade aceitável, mas imediata (usando meu editor atual), até agora, conquistou uma tremenda produtividade mais além (usando vi).

Alguém tem boas dicas para ajudar a superar a curva de aprendizado? Pode ser dicas diretas, algum outro tutorial ou artigo, qualquer que seja.

Edit: Note que estou ciente das variantes vim/gVim , Cream e MacVim (etc.) do vi. Eu mantive minha pergunta sobre o vi para me referir à família do vi como um todo. Obrigado por todas as ótimas respostas.

Atualização (abril de 2009)

Uso o Vim (mais precisamente, o MacVim) no meu dia a dia profissional desde dezembro passado. Eu não vou voltar :-)

Boa sorte para todos em sua mestria Vim.

200
webmat

Primeiro de tudo, você pode querer pegar o Vim; tem um conjunto de recursos muito superior, juntamente com tudo o que o vi tem.

Dito isso, é preciso disciplina para aprender. Se você tem um emprego e não pode arcar com o custo da produtividade (sem ser demitido), sugiro que você assuma um projeto de fim de semana com o único propósito de aprender o editor. Mantenha a documentação aberta enquanto trabalha e seja disciplinado o suficiente para não desanimar. À medida que você aprende mais, torna-se eficiente e começa a confiar na memória muscular, não será tão difícil ficar com ela.

Uso o Vim há tanto tempo que nem penso em quais teclas pressionar para pesquisar, navegar ou salvar. E minhas mãos nunca saem do teclado. Usar o Vim é uma das melhores escolhas que fiz na minha carreira em programação.

123
Lucas Oman

A primeira coisa que faço é colocar um pedaço de papel ou um livro sobre as setas e as teclas ins/home/end/pgup/down. Aqueles não são necessários em Vi.

Em seguida, eu me acostumava a pressionar ctrl + [sempre que lhe diziam para escapar. É muito mais rápido e você não precisará tirar as mãos do teclado.

Então eu assisti meus screencasts:

http://www.youtube.com/watch?v=FcpQ7koECgk

http://www.youtube.com/watch?v=c6WCm6z5msk

http://www.youtube.com/watch?v=BPDoI7gflxM

http://www.youtube.com/watch?v=J1_CfIb-3X4

Então, apenas pratique a prática prática.

edit A razão para evitar as teclas de seta é que elas atrasam você. Um dos maiores benefícios do Vim é a velocidade que ele permite. As teclas de seta também impedem que você realmente adote a natureza modal, que é muito poderosa quando dominada.

63
Aaron Jensen

Etapa 0: aprenda a tocar no tipo. Sério - se seus dedos não sabem onde estão as chaves, então vim vai ser uma dor. E mesmo que você rejeite o vim, a digitação por toque melhorará sua programação (pergunte Steve Yegge ), fazendo com que a mente monitore a fricção do link. Existe um lote de software que pode ajudá-lo a melhorar sua digitação.

Etapa 1: use vimtutor para começar. Está no gvim (sob o menu de ajuda eu acho) ou você pode simplesmente digitar 'vimtutor' na linha de comando. Demorará 30 a 45 minutos do seu tempo e seus dedos conhecerão o básico do vi/vim e você poderá editar arquivos sem querer lançar o teclado pela janela.

Etapa 2: use o vim em qualquer lugar. Veja esta pergunta para dicas e links para usar vim e vi chaves na linha de comando, do seu navegador, para compor e-mails, no seu IDE ... Você precisa use o vim para incorporar as ligações principais na memória muscular.

Passo 3: saiba mais sobre o vim. Você só terá arranhado a superfície com o vimtutor. Você pode assistir a este vídeo ou ler este artigo (ambos sobre os "Sete hábitos da edição eficaz de texto". Você pode ler sobre dicas e truques em StackOverflow . Você pode navegar em vimtips . Aprender um litle frequentemente seria o meu conselho - há muito o que fazer lá, manter os pedaços pequenos será a melhor maneira de fazer o conhecimento ficar.

Etapa 4: Lucro :)

37
Hamish Downer

Eu tenho sido um usuário repetitivo e repetido do vim ao longo dos anos (realizando um trabalho ocasional de administrador do sistema). Eu comecei recentemente a gastar mais tempo fazendo meu trabalho de programação. Eu sugeriria começar com gvim também. Ele se integra bem à maioria dos ambientes de SO e (ainda melhor), você pode recorrer ao mouse quando precisar :).

Para começar com o vim, execute o vimtutor (incluído no gVim) uma ou duas vezes (leva uma hora ou mais). Eu não posso exagerar o quão útil foi para mim! Especialmente as primeiras partes sobre as diferentes maneiras de percorrer um documento e como as ações de edição são gravadas com comandos de movimento, etc. etc. Depois disso, as coisas ficarão MUITO mais claras.

Em seguida, comece a fazer edições pequenas e rápidas com ele (material de substituição do bloco de notas) 'até ficar confortável o suficiente para fazer edições úteis em um clipe rápido. Em seguida, tente fazer o seu trabalho do dia-a-dia nele. Você encontrará o comando "repeat last action" em outros editores em pouco tempo!

26
Brian

Você pediu boas dicas para ajudar a superar a curva de aprendizado no editor de texto vi. Muitas das respostas anteriores sugerem que você não use outros editores. Eu acho que é um bom conselho. Mudar para o vi de um editor mais gráfico requer uma mudança de mentalidade. Requer pensar em termos de comandos, em vez de mudanças visuais.

Não usei nada além do vi por muitos anos e acredito que a única maneira de você ser produtivo é memorizar os comandos que você usa regularmente. A maneira que fiz isso foi fazer uma pequena lista dos comandos mais comuns do teclado. Eu agrupei e codifiquei por cores esses comandos por função, ou seja, Mover o cursor, editar, pesquisar , etc. Tive o cuidado de incluir apenas os termos mais usados. comandos que eu não sabia. A idéia é criar uma referência rápida que também ajude na memorização - não para substituir as telas de ajuda disponíveis. Então eu imprimi esta lista e colei na parede atrás do meu monitor para poder ver facilmente. (As folhas de dicas gráficas que você mencionou podem funcionar melhor para alguns, mas provavelmente são uma fonte de referência melhor do que uma ferramenta de memorização.)

Aqui está a chave. Ao me sentir confortável com um dos comandos, desenhei uma linha através dele com um lápis. Eu ainda conseguia ver se precisava, mas era simbólico para mim ter dominado esse comando. Isso me deu confiança e motivação, como pude ver progresso regular. Depois que a maioria deles foi cruzada, eu os removi e adicionei alguns dos comandos mais raramente usados. Eu continuei este processo até que fiquei satisfeito com o meu comando do vi. Eu sabia que tinha chegado a esse ponto quando percebi que não havia rompido nenhum comando ou sequer olhava para a lista há muito tempo.

Alguns anos atrás, eu precisava trabalhar em uma plataforma UNIX, na qual o vi era o único editor disponível. Eu comprei um pequeno livro de referência de bolso no vi, mas quase não usei. Acabei fazendo listas e publicando-as na parede como fiz na primeira vez que usei vi. No final da primeira semana, fiquei muito confortável, apesar de ter passado cinco anos desde que usei o vi.

18
TMarshall

Você deve começar com vim (Vi IMproved) e especialmente sua GUI - gVim . A GUI possui menus e, no Windows, você pode usar os comandos de copiar, recortar e colar e substituir o bloco de notas imediatamente. E como os menus exibem os atalhos (comandos do vim), você pode aprender muito.

Outra coisa que você deve fazer desde o início é configurar o vi para suas necessidades. Por exemplo, você pode transformar o vim em um Python IDE . Ao fazer isso, você não terá desculpa para usar outro editor, porque o vi oferecerá tudo o que você precisa.

11
Cristian Ciupitu

Para mim, o VI é um bom editor de emergências, mas não é algo que eu queira usar se houver outra alternativa disponível. Eu sei que isso não é para todo mundo, não estou dizendo que é horrível ou qualquer coisa, eu pessoalmente prefiro uma interface do usuário detectável.

Mas você realmente precisa conhecer o VI se fizer algo significativo no Linux!

Então, apenas aprenda o básico: i = inserir modo esc = sair do modo de inserção: wq = salvar e sair: q! = Não salvar e sair x = quando não estiver no modo de inserção, exclua o caractere./= pesquisa

Isso o levará a qualquer emergência de edição. Não há nada que você não possa fazer com esses poucos comandos (e navegação, é claro). O resto você pode "Aderir" conforme necessário.

Mantenha uma referência ou um livro disponível - quando você PRECISA usar o VI, você provavelmente não será capaz de navegar na web - mas a página de manual pode ser um pouco útil.

11
Bill K

force-se não. O caminho para o domínio do amor é.

11
jbarciela

excluir todos os outros aplicativos do editor de texto.

Então você terá que aprender.

10
Bob Dizzle

A maneira mais simples de forçar você mesmo pode ser apenas remover todos os outros editores da sua máquina. Livre-se da tentação :)

9
Dana

Toda vez que você está fazendo uma tarefa complexa de edição, fique imaginando se existe uma maneira mais eficiente de fazer isso. Na maioria das vezes, quando é algo que você pode descrever em termos simples (como "trocar parágrafos de texto" ou "excluir tudo após o caractere X nas linhas comentadas"), é algo que você pode fazer com apenas alguns pressionamentos de tecla no vim.

Existem alguns recursos importantes que são extremamente úteis e você terminará o tempo todo. Os que eu mais amo são:

  • Seleção de bloco (Ctrl-V)
  • Gravação de macro (q)
  • Edição virtual (: set ve = all)
  • Expressões regulares
  • Piping para programas Unix externos
  • Mapeamentos de chaves
  • Autocompletar (C-p, C-x C-p, C-x C-f)
  • A combinação de operação + movimento (isso é incrivelmente poderoso)

Pergunte a outros programadores quais recursos eles acham mais úteis e adote aqueles que se adaptam melhor ao seu cérebro. Roubar ideias do .vimrcs de outras pessoas ( aqui está o me )

9
Roberto Bonvallet

EDIT: eu criei m cartão de memória definido no site de repetição espaçada online flashcarddb.com , caso você esteja interessado ...

  1. Use um programa de cartões flash de repetição espaçada, como mnemosyne , supermemo ou anki para incorporar o aprendizado e reter novos comandos em sua rotina diária. Não basta usar o vim como seu editor diário. Para dominá-lo, você deve armazenar esses códigos em sua cabeça, aguardando o momento em que eles sejam a solução ideal para a tarefa em questão.
  2. Manter um .vimrc com personalizações
  3. Escreva ou edite um plug-in vim
8
P. Myer Nore

Eu escrevi um guia para edição eficiente com o Vim um tempo atrás. Você pode achar útil.

Eu voltaria por um minuto e perguntaria a si mesmo "por que eu quero aprender este editor? O que me faz pensar que será mais rápido ou melhor do que o meu editor de texto atual?" Então aprenda os recursos que tornarão Vi (m) indispensável para você.

Por exemplo, a integração de CTags do Vim é completamente indispensável para mim. Eu trabalho com uma base de código muito, muito grande e a capacidade de pular para uma função ou definição de classe em um pressionamento de tecla (independentemente do arquivo em que está) é um recurso absolutamente matador, do qual tenho problemas para trabalhar.

Use o seu arquivo .vimrc para criar macros que automatizam tarefas comuns.

O seu selecionador de editor de piloto automático escolherá o editor que fará o trabalho mais rápido e com o mínimo de esforço mental. Um pequeno trabalho de preparação garantirá que o editor seja o Vim. :-)

8
Jonathan

Duas coisas que melhorarão muito suas habilidades no vi:

  1. Prática, prática, prática
  2. Nethack
6
Mark Witczak

Minha sugestão: comece pequeno. Comece memorizando um pequeno conjunto de comandos mais úteis. Quando iniciei o vi, estes eram meus 10 principais:

  • (Esc) para retornar ao modo de comando (o mais importante!)
  • a para adicionar texto após o cursor
  • A para adicionar texto no final da linha atual
  • x para excluir 1 caractere
  • dd para excluir 1 linha
  • R para substituir o texto (substituir)
  • você desfazer
  • : q! (Enter) para sair sem salvar
  • : w (Enter) para salvar
  • ZZ para salvar e sair

Muita edição básica pode ser feita usando apenas esses comandos. Depois de se sentir confortável, o resto não parece muito difícil.

BTW, gostaria de acrescentar que costumava confiar no vi para o meu editor de texto principal, mas agora apenas se for necessário. No meu caso, a produtividade é melhor quando uso ferramentas como Emacs ou Visual Studio (observe: "no meu caso"). Experimente mais de uma ferramenta e escolha a que mais ajuda na sua produtividade. Boa sorte!

6
Paulus

Parece bobo, mas jogar roguelike jogos (como Nethack ou Angband ) é uma maneira divertida de se sentir confortável com o uso do h/j/Teclas k/l para a navegação do cursor.

5
bk1e

Anote todos os atalhos e recursos que você usa em seu editor atual enquanto o usa no trabalho. Em seguida, sente-se no sábado de manhã e usando o Google e o estouro de pilha, descubra como fazer cada um deles no vi. Provavelmente melhor se você usar uma folha (ou folhas) de papel para isso.

Agora desative/exclua os outros editores no trabalho, para que você demore mais tempo para encontrá-los e reinstalá-los do que ver sua planilha de comparação e fazê-lo no vi - ou seja, você não tem escolha.

Por último, publique a sua lista de atalhos de crossover do seu antigo editor para o seu novo no seu blog.

Boa sorte!

4
Guy

Não use X11?

$ sudu rm /usr/local/bin/emacs

Mude o seu Shell de login para vi?

Primeiro, obrigue-se a usar ed, então vi parecerá um luxo?

Use as ligações de teclas vi em bash?

Basta começar a usar vi o tempo todo?

Parece-me que aprender um editor não é muito diferente de aprender uma língua. A imersão funciona melhor.

Eu uso vi para edições realmente rápidas ou quando eu não posso usar X11 por alguma razão, mas eu vivo em emacs. Vale a pena reservar editores realmente poderosos.

4
Jon Ericson

A principal razão para eu usar vi é ssh (ou PuTTY no Windows): Quando você está logado em um servidor Unix remotamente, vi está sempre disponível. E funciona com o VT100 quando nem as teclas do cursor nem o backspace/delete são mapeadas.

Também ter um livro como VI Editor Pocket Reference = ajuda muito.

3
Aaron Digulla

Eu me lembro quando comecei a aprender emacs, foi depois que eu já estava muito confortável com o Vim, e eu estava no mesmo ou similar barco que você era, onde eu sabia como fazer muito em outro editor, então quando eu comecei usando emacs, sempre foi dolorosamente lento.

No entanto, acho que o que você terá que fazer é apenas absorver um pouco da dor, e sempre, sempre, SEMPRE se certifique de procurar a documentação para fazer algo que você sabe você pode faça no seu editor anterior, como ir para o final de uma linha ou selecionar uma região de texto.

Também ajuda se você tiver um especialista local em vi que possa fazer perguntas ou se for como a nossa empresa, promover a programação de pares. Dessa forma, quando você está tentando fazer algo que deve ser fácil, você pode simplesmente perguntar a alguém, eles mostrarão como, e se você estiver usando o editor regularmente por algumas semanas, não precisará pedir mais então um par de vezes antes que se torne uma segunda natureza.

Se você não possui recursos locais, há muitos livros/tutoriais/folhas de referência on-line que devem responder à maioria das suas perguntas.

Por fim, aprender Vi é como aprender outras habilidades, não há uma bala de prata e você terá que aceitar que, por um tempo, você será menos produtivo do que seu editor atual. Continue dizendo a si mesmo: "Outras pessoas foram capazes de aprender o Vi, e eu sou pelo menos tão inteligente quanto elas" (é o que eu digo a mim mesma de qualquer maneira :))

3
ben.prew

Minha recomendação é criar alguns programas simples e escrevê-los, começar a terminar, usando VI.

As probabilidades são de que você ficará muito frustrado a princípio pela curva de aprendizado para forçar-se a usá-las no trabalho ou em qualquer ambiente sensível ao tempo.

Já fiz isso antes para me familiarizar com ambientes/editores e funciona muito bem.

Se você estiver com problemas para escrever coisas, recomendo refazer os projetos que você fez na escola (ou qualquer outra coisa que você tenha feito anteriormente). Este método tem a vantagem adicional de permitir que você veja o quanto de um desenvolvedor melhor se tornou. :)

Edit: esqueci de mencionar que você deve fazer isso inteiramente a partir do console para evitar qualquer tentação de usar o mouse!

3
TM.

o gVIM tem um ótimo tutorial (link no grupo do menu Iniciar).

Eu achei que trabalhar através disso ajudou a superar o problema inicial da aprendizagem; e depois mudar meu Visual Studio para ViEMU me ajudou a aprimorar minhas habilidades em VI.

Além disso, os screencasts em http://vimcasts.org/ são ótimos!

3
David Laing

Você pode querer começar com o Cream. Creme se descreve como "uma configuração moderna" do vim. Basicamente, é uma versão especial do vim que parece e se parece com qualquer outro editor de texto para todos os fins práticos. Mas habilite o "modo expert" e você terá todo o poder e comportamento do vim.

Assim, você pode começar a usar o Cream como um editor de texto comum e depois experimentar o "modo especialista" até se sentir confortável o suficiente para mudar completamente para o vim.

2
sids

Instale gVim em todas as plataformas que você usa.

Em seguida, percorra o vimtutor (:help vimtutor ou vimtutor na linha de comando).

Assista à seguinte palestra e siga seus conselhos: 7 hábitos para a edição eficaz de texto 2.

Eu digo que você definitivamente quer começar a usá-lo para toda a sua edição. Se você temer uma perda de produtividade, então tome um fim de semana para praticá-lo sólido (uma vez eu fiz isso para mudar para dvorak da QWERTY e tive minha produtividade alta o suficiente na segunda-feira e consegui continuar com ela depois).

Vale a pena o esforço e você não vai olhar para trás!

2
user13060

Você pode colocar as mãos em um dos teclados originais do Happy Hacker (sem teclas de setas) e colocar o mouse (sem fio) fora do alcance toda vez que começar a editar.

2
Garth Gilmour

É fácil escrever uma grande lista de comandos/atalhos, mas é difícil lembrar de todos eles sem prática.

Concentre-se em um novo comando de cada vez. Quando se tornar automático, digamos depois de usá-lo por uma semana ou duas, adicione outro ao seu repertório.

Você estará percorrendo o longo caminho para realizar certas coisas no curto prazo - essas são oportunidades óbvias para novos atalhos aprenderem.

Na minha experiência, foi mais fácil quando tentei não assumir muito de uma só vez.

2
Craig Hyatt

Minha sugestão número um: aprenda a digitar rápido, sem precisar olhar para o teclado.

Se você não pode tocar no tipo e está sempre caçando e bicando o cólon ou o hjkl ou:% s/foo/bar, esqueça. Digitar pode ser mais rápido do que usar o mouse, mas se esse não for o seu caso, o vi não funcionará.

Mas combine boas habilidades de digitação, ssh e screen e vi serão naturais.

2
Michael Cramer

ESC gg=G para reindentar o código e :retab para converter abas em espaços ou espaços em abas foi o que me fisgou no vim. Então, na verdade, você não precisa ser forçado a usá-lo, basta aprender quando isso pode ajudá-lo a aumentar sua velocidade.

Passe por vimtutor.

Comece a usar o vim para edição simples, como arquivos de configuração ou html. Aprenda os comandos conforme necessário.

Pesquise no Google por um bom .vimrc usado por alguém que usa uma cadeia de ferramentas semelhante à sua. Ative o realce da sintaxe. Encontre um bom esquema de cores.

Aprenda macros porque o Vim é o melhor para tarefas automatizadas e inserção de trechos, como formatar algumas palavras em uma tag XML complexa ou converter um CSV em uma tabela HTML.

2
Eduardo Marinho

Encare o fato de que isso criará um impacto imediato no desempenho. Ao aprender uma nova ferramenta, você precisa fazer algo que sabe fazer com outras ferramentas, para que o problema não seja seu. Depois de usar a nova ferramenta por um tempo ela desaparecerá e você estará focando apenas no problema subjacente.

Com algo como o vim (como outros já disseram, o vim é muito superior ao vi), é importante reler e navegar periodicamente na documentação. A interface é completamente desconhecida sem ela. A cada nova leitura, você verá um recurso e dirá, "ah ha, isso teria resolvido esse problema que eu estava tentando descobrir na semana passada", e arquivá-lo-á no seu cérebro. Soluções conectadas a problemas do mundo real que você teve são muito mais fáceis de lembrar do que atalhos aleatórios.

No final, você pode usar o vim com um subconjunto bastante pequeno de seus recursos, portanto, não fique sobrecarregado com todos os sinos e assobios. Pense em todos os recursos do Word, 99% das pessoas os usam?

2
Matt Price

Quando eu era muito mais jovem (onze), minha família se mudou para a Alemanha por alguns anos. Eu era capaz de aprender o idioma por imersão - simplesmente não tinha escolha a não ser falar o idioma (embora, se estivesse em uma situação terrível, pudesse encontrar um falante de inglês).

Minha sugestão é que você faça o mesmo - a menos que esteja em uma situação absolutamente desesperadora (por exemplo, "ok, acabei de excluir o arquivo/etc/passwd e preciso recuperar a raiz"), tome a decisão consciente de fazer o melhor possível com o vi. Na verdade, não demora muito para aprender o básico, se você estiver disposto.

Como outros sugeriram,

vim-tutor

pode ser um bom ponto de partida, como pode esta imagem .

1
cjmac

Use o método post-it note :-)

Ao usar o gvim, permita-se usar os menus. Leia um livro/tutorial sobre o vim para conhecer o básico. (inserir e modo de comando)

Selecione algumas funções muito legais que você acha que precisa e escreva-as em post-its e cole-as na parte inferior do monitor.

Um bom começo é provavelmente i, a, o, gg, G,: 10,/something

e alguns recortam e colam como aa, dd, p

e complete com v, V (o modo visual) + recorte e cole

Então, quando você os conhece, substitua o post-it por um novo que tenha uma função ainda mais fria e repita até ficar feliz.

/ Johan

1
Johan

Como se forçar? Meu conselho é estar em um ambiente de trabalho em que você tenha que manter 10 caixas unix telnetando/aplicando massa a partir delas no Windows. Você perceberá rapidamente que a única maneira de editar texto com eficiência em várias variantes do * nix é usar um editor padrão que vem com quase todas as distros que eu conheço. Além disso, quando o X11 não inicia uma nova instalação, o vi é seu único amigo :)

1
Excalibur2000

Eu aprendi vim/vi mais de dez anos atrás, quando eu estava fazendo meus mestres. Naquela época, a única máquina que eu tenho acesso são as estações Sun Sparc (Sparc 20, eu acho). E vi é a única coisa que está nele. Então, uma coisa que você pode fazer para "forçar" a si mesmo é desinstalar qualquer outro editor que você tenha!

1
lang2

Pessoalmente, o que eu precisava fazer era garantir que eu pudesse usar as combinações de teclas do Vim (ou pelo menos perto o suficiente) em vários aplicativos. Ter que mudar completamente a forma como editei o texto sempre que troquei de editor dificultou o comprometimento do estilo de edição do Vim com a memória muscular.

No meu caso, Viemu + vimperator fez o truque.

1
tomasr

Eu só aprendi o vi quando comecei a trabalhar para um ISP, onde os scripts para editar domínios só abriam o vi em um terminal. Eu não tive escolha a não ser aprender, mas nunca me arrependi.

Em resumo, coloque-se em uma situação em que você não tem escolha a não ser aprender.

0
Nathan Fellman

Eu começaria com argdo , e uma vez que você se apaixona por isso, o resto é fácil ...

0
Kearns

Passe algumas horas no site do vi lover http://nereida.deioc.ull.es/html/vilovers.html - muitos tutoriais, links etc. com fãs entusiasmados do vi.

0
DarenW

Uma coisa que achei realmente confusa no vi moderno (vim?) É o modo de entrada que permite alguns, mas não todos os recursos do modo de comando. Eu me sinto muito mais confortável quando o modo de entrada é totalmente simplificado para "sobrescrever apenas, nenhum movimento de cursor possível", algo que o antigo Solaris vi possui. O verdadeiro vi exige que você permaneça no modo de comando a maior parte do tempo.

Dito isto, não há necessidade de aprender vi hoje em dia - o emacs é igualmente onipresente. :)

0
Arkadiy

Aguarde até que você precise depurar um problema estranho e complexo em um ambiente ativo, onde tudo o que você pode fazer é chegar à linha de comando. Você pode não gostar do VI, mas economizará muito tempo e aprenderá muitos truques para percorrer arquivos maciços (log).

0
Andrew Harmel-Law

Embora eu seja um grande fã do vi em geral, e do vim em particular, existem muitos editores poderosos, e você não deve sentir que precisa usar o vi, ou de alguma forma é um editor absolutamente perfeito, porque não é.

Se você tem que se forçar a usar vi, eu ficaria preocupado que você não se sinta produtivo usando isso. No entanto, se você insistir em persistir, provavelmente garantiria o uso do vi para todas as tarefas de edição. Sempre que eu preciso fazer alguma coisa e não sei qual a melhor maneira de fazê-lo, eu tentaria encontrar o melhor (em termos de batidas de tecla mínimas) para fazê-lo no vi depois eu fiz é uma maneira normal não ideal. Eu faria um post-it com essa pequena dica (ou talvez apenas um arquivo de texto) para lembrá-lo da próxima vez.

Com o tempo, sua produtividade com o vi aumentará drasticamente.

0
Brian Mitchell

Aprendi vi com o excelente livro O'Reilly "Aprendendo o editor vi" .

0
Phillip Wells

Por que não ligo com minha própria maneira de baixo atrito para me forçar? :-)

O que faço é simples: tento fazer com que o meu git confirme mensagens com o vim (editor padrão quando você não especifica uma mensagem na linha de comando).

É claro que uma mensagem de confirmação é tão curta que mal ajuda. Mas quando reeditar uma mensagem com git commit --amend é mais útil.

0
webmat

Imprima um dos muitos panfletos Vi/Vim que você pode encontrar na internet e force-se a ficar com ele por algumas semanas.

Depois de aprender alguns comandos básicos, você pode ser bastante eficiente. A partir daí, continue ligando e aprenda um novo comando de vez em quando. Não há como você aprender TODOS os comandos do vi. Eu acredito que existem mais comandos vi do que átomos no universo !! :)

0
Utah_Dave

O modo que fiz foi levar alguns minutos inicialmente para revisar as coisas mais básicas - movendo o cursor, procurando para frente e para trás, pulando para as próximas palavras/frases/parágrafos/parágrafos anteriores e anteriores, etc. Inserindo, anexando. Tudo o que você pode caber na sua cabeça. Então, quando você tem algo para fazer que não precisa ser feito nos próximos 15 segundos, faça você mesmo usá-lo.

Quando estiver familiarizado com o básico, aprenda lentamente os comandos mais avançados - especialmente aqueles que alavancam seu aprendizado anterior (como substituir as próximas 3 palavras ou excluir para o próximo destino de pesquisa)

Adoro usar VI, uma vez que aprendi como. Os comandos avançados são muito mais poderosos do que o que a maioria dos editores de GUI parece oferecer, e o fato de ser onipresente e baseado em texto, e portanto disponível no ssh, é ainda melhor.

0
randychilders

Faça o que eu fiz. Use-o para tudo e saia no #vim no freenode.

0
Jeremy Cantrell

Google é seu amigo. Mantenha uma janela ou guia à mão e, quando tiver algo que precise fazer várias vezes, diga recuar o código ou pesquise com um regex, procure-o. Os melhores sites de dicas tornar-se-ão familiares, marcarão alguns e talvez imprimam uma folha de dicas.

0
sammyo

Comecei a usar o VI porque é o editor padrão em praticamente todos os sistemas operacionais, exceto no Windows. Por outro lado, não codifico muito o Windows, o que ajuda.

Se você quer se forçar em um sistema * NIX/OSX, simplesmente remova os outros editores ou alie-os. Para o resto, depende de você mesmo. Toda vez que você não usa o VI para editar um arquivo, não receberá um cookie.

0
Kristian

A melhor maneira? Configure seu terminal para usar as teclas vi.

0
chiggsy

exclua o notepad.exe e crie um atalho para o vim chamado notepad :)

ou faça toda a sua codificação via ssh ou em uma máquina que não tenha GUI;)

0
shyam

Eu tentei manter uma pequena folha de dicas ou notas adesivas de comandos comuns do vi. Eu faço o mesmo por um IDE que eu uso. Descobri que, se eu colocar notas adesivas de atalhos ou comandos de teclado no (s) monitor (es), isso me ajudará a aprendê-los. Depois de usar o atalho o suficiente e achar que me lembro bem, removerei o lembrete.

0
Bob Wintemberg

symlink cada editor de terminal em seu sistema para vim e symlink cada editor gráfico em seu sistema para um script que abre uma nova janela de terminal com o vim em execução.

0
Steve Losh

Eu o usei para editar arquivos no servidor da web que era linux em vez de usar o FTP. Isso foi há 9 anos e desde então eu domino as habilidades.

A outra coisa é encontrar algo ótimo que você possa fazer no VI, como pesquisa e substituição global, ou algo ainda mais poderoso, e usar o VI sempre que precisar.

0
Brian G

Quando você precisa procurar algo rapidamente, ter tudo em uma página pode ajudar.

0
webmat

Se você se forçar a usá-lo por alguns dias, verá que os comandos logo se tornarão de segunda natureza. Se você estiver em um sistema posix, eu recomendo que você comece com o nvi licenciado pela BSD, um clone clássico do vi 1: 1, e depois vá para o vim. Se você iniciar com o vim, é provável que você use apenas um subconjunto dos comandos de edição porque o modo INSERT é muito semelhante aos editores da GUI.

0
jbcreix

é mais uma questão de fisiologia do que uma questão de programação, mas a melhor maneira que eu fui capaz de fazer coisas que eu realmente não queria fazer era apenas fazer isso e parar de tentar me motivar. para fazer isso.

Pense nisso como escovar os dentes. Você precisa se motivar para fazer isso? Não, você apenas faz.

0
Craig H

Gaste dez anos postando na Usenet de uma máquina onde apenas vi e emacs estavam disponíveis (e onde o emacs tinha um tempo de inicialização longo e irritante quando chamado de 'rn').

Foi assim que aprendi.

Mas, para uma abordagem mais rápida, tudo o que posso recomendar é que você se comprometa a aprendê-la e passe algumas horas trabalhando em algum código-fonte. Instale o vim se você ainda não o tiver - ele possui maravilhosos recursos de realce de sintaxe.

Vale a pena. Eu sei que posso acessar praticamente qualquer máquina Unix, em qualquer lugar do mundo ocidental, talvez até por uma conexão discada lenta ou em uma máquina sem interface gráfica, e ser totalmente produtivo em questão de minutos.

0
Matt Hucke

Eu tenho VI no Windows, a versão que eu uso está listado abaixo, se eu estiver em uma janela do console eu sempre padrão para VI, em seguida, independentemente do sistema operacional que estou executando, eu sei que posso editar o arquivo. Por outro lado, se eu estiver no modo de interface do usuário, uso o Notepad ++ go figure.

NT VI - Versão 0.23 Desenvolvido por: Tony Andrews Baseado em um programa por: Tim Thompson

0
titanae

Fui forçado a aprender o Vim para meu primeiro trabalho de programação aos 16 anos (o chefe não nos deixaria usar mais nada), mas não fiz nenhum progresso real até ler Livro do Steve Oualline = - é altamente recomendado como ponto de partida se você quer ser sério com o vim.

Na verdade, o Vim leva mais tempo para dominar do que algumas linguagens de programação (os recursos são que complexo). Tentar "dominar" o Vim imprimindo cheats seria como tentar dominar o Haskell lendo algumas postagens no blog. Esteja preparado para investir algum tempo sério e você será bem recompensado.

0
too much php

Eu fiz uma folha de dicas de uma página e usei-a para aprender todos os recursos não básicos. No entanto, a prática é a única maneira de dominar qualquer coisa.

o vi é legal porque está em todos os computadores do tipo UNIX, Mac OS X, Solaris, Linux. Encontre uma caixa de decstation antiga no eBay? Tem o vi. E o Sun OS 4? vi novamente.

0
Norman Franke

Jogue muito nethack. Foi o que fiz quando estava na faculdade e descobri mais tarde que o movimento do cursor era o mesmo. Embora nesse momento você precise alterar a configuração para usar o mapa de teclado do estilo vi.

0
oj