Como posso inspirar outras pessoas a usar o vi / Vim?

37

Fiquei extremamente impressionado com o poder do vi desde a primeira meia hora que o usei. Descobri então que em alguns ambientes de trabalho, existem muitas pessoas (técnicos e até administradores de sistemas!) Que evitam isso como "muito complicado" sem nunca ter executado o vimtutor, e ainda outras pessoas que usam o vi apenas no modo de inserção e perca todo o ponto da edição modal.

Como posso demonstrar o poder do vi / Vim para os outros de maneira a inspirá-los a aprendê-lo e usá-lo?

Estou especialmente interessado em histórias reais do que foi bem-sucedido em fazer com que outras pessoas (ou você) aprendam e usem o Vim.

Curinga
fonte
4
Li as orientações sobre questões subjetivas e acho que isso se encaixa.
Wildcard
@Wildcard talvez se encaixe em questões subjetivas, mas é realmente muito amplo. Veja meta.vi.stackexchange.com/q/1278/205 para a discussão que tivemos sobre uma questão similar "subjetiva".
97715 muru
Eu entendo o seu ponto. Eu li essa discussão (e várias discussões vinculadas). Ainda acho que essa pergunta é apropriada, mas não acho que devo discutir isso aqui; existe um lugar na meta onde devemos discuti-lo?
Wildcard
@Wildcard, você sempre pode postar uma pergunta no Vi e no Vim Meta sobre esta questão.
muru 10/10
11
@ Rich Aqui está um exemplo de um post do Medium: Por que eu amo o Vim: são os recursos menos conhecidos que o tornam tão incrível .
Serge Stroobandt 26/09

Respostas:

54

Embora tenha investido algum esforço no Vim e em seu ecossistema, não tento ativamente converter outros. A maioria das pessoas com quem trabalhei não investe muito tempo para melhorar seu fluxo de trabalho e conjunto de ferramentas porque está satisfeita com o que possui. Acho isso perfeitamente bem ... e odiaria ser o alvo de proselitismo constante relacionado ao editor, para não impor isso a outras pessoas.

Às vezes, porém, um colega de trabalho pode ficar intrigado com o meu vimming e me fazer algumas perguntas. Quando esse evento raro acontece, fico mais do que feliz em discutir o assunto, demonstrar truques interessantes e apontá-lo para recursos úteis.

No meu último emprego, um colega de trabalho estava muito interessado no Vim e conhecia bem o básico ( vimtutor). Foi o suficiente para ele poder fazer edições rápidas, mas ele não tinha a confiança e o conhecimento necessário para mudar para o Vim (algo que ele realmente queria). Em um ponto, ele teve que fazer uma série de edições repetitivas em um arquivo JSON grande manualmente. Ele ficou angustiado com a idéia de perder uma hora fazendo isso e veio até mim procurando uma solução mais rápida / inteligente. Obviamente, uma macro simples fez o trabalho em menos de um minuto (incluindo gravação), o que me permitiu explicar alguns conceitos-chave ...

Um problema enfrentado pelos recém-chegados é que "e agora?" momento que vem logo depois vimtutor. Vim esconde sua beleza muito bem e poucas pessoas têm vontade de quebrar essa concha sem ajuda. Posso fornecer essa ajuda, se necessário ... mas nunca forçarei o Vim a outros.

romainl
fonte
20

Eu uso o Vim para tudo. Eu quero dizer tudo. Programação, processamento de texto, redação de romances, etc. Tudo. Eu estive sentado em uma concessionária de automóveis usando um Surface Pro 3 executando uma Linux Virtual Box com o Vim e tive pessoas conversando comigo sobre o que estou fazendo.

Basta usar o Vim. As pessoas vão procurar você para descobrir o que você está fazendo e por quê. Eu costumo explicar dessa maneira -

Eu uso o Vim porque tem uma pegada muito pequena. O Microsoft Word tem vários gigabytes e meu Surface possui apenas 128 GB de espaço. Preciso maximizar meu espaço e o Vim me ajuda a fazer isso. Também é extensível e me ajuda a manter o foco. Olhe aqui. Demonstre alguns dos meus plugins e mostre como o Vim em tela cheia basicamente cobre tudo para que eu possa pensar .

Costumo demonstrar o LaTeX em combinação com o Vim. Vou construir um arquivo LaTeX e compilá-lo em um PDF bonito usando o modelo que tenho. Também demonstro minha carta e currículo modelos. Enfatizo como é importante separar o estilo do conteúdo. A essa altura, as pessoas não estão mais interessadas no que tenho a dizer e se arrependem de falar comigo.

Eles procuram uma maneira de sair da conversa e eu volto a escrever. Vim é uma experiência religiosa mais que um processador de texto.

Eu gosto de tartarugas
fonte
3
Imaginando: você também escreve seu e-mail no vim? (Sim!)
Oliphaunt - restabelece Monica
5
@ Oliphaunt Eu escrevo emails no VIM. Meu cliente de email preferido é MUTT e, quando edito ou crio um novo email, ele abre meu editor preferido. Até uso o VIM para adicionar URLs ao meu leitor de feeds RSS (newsbeuter).
ILikeTurtles
7
Algumas pessoas decidiram editar minha resposta afirmando que eu uso o Visual Basic. Eu uso o Virtual Box e corro o Linux por cima do Windows. No entanto, acho que essas edições são super interessantes, então vou deixar. É como tocar telefone com edições. A história continua mudando quanto mais pessoas a editam. Diversão.
ILikeTurtles
2
@Will Yep. Eu tenho uma VM que ocupa algo como 2 GB ou menos. Prefiro instalar um sistema operacional inteiro, o VIM e todas as minhas outras ferramentas, do que instalar 4 GB ou qualquer cópia das Ferramentas da Microsoft. A própria VM pode expandir se eu precisar, mas isso ainda não aconteceu, pois trabalho principalmente com arquivos de texto ao lidar com esse computador em particular. Se eu estivesse usando o FreeBSD, poderia executar uma área ainda menor e provavelmente executar toda a VM em um show.
ILikeTurtles
3
O Office 365 requer até 6 GB de espaço no disco rígido e até 4 GB de RAM. Posso executar um sistema operacional Linux inteiro usando 4 GB de espaço em HD e 1028 MB de RAM. Menos se eu quiser empurrar as coisas. Eu executei o FREEBSD em uma VM e só dei 256 MB de RAM. O VIM para mim substitui o Office, mas, além disso, uma instalação completa do SO oferece muito mais ferramentas do que o Office fornece em menos espaço. Espero que faça sentido.
ILikeTurtles
17

Demonstre a potência do ponto ('.') No modo de comando. A repetição fácil de uma edição complicada com um pressionamento de tecla geralmente parece mágica.

Dmitry Rubanovich
fonte
2
sim. alguns exemplos aqui
roblogic 09/02
13

Como alguém que teve que aprender o Vim no meu último trabalho, eu diria que o maior obstáculo estava sendo colocado na frente de uma instalação "padrão" que não tinha opções definidas. Passei a maior parte do tempo dizendo: "Por que age dessa maneira quando todos esperam que faça o contrário?"

Acontece que todos os demais já definiram alguns padrões de "sanidade" . Depois que descobri isso, fiquei muito mais feliz e "dei uma chance" para aprender mais. Depois de alguns dias em que o teclado numérico não funcionava, as guias estavam erradas, as pesquisas não estavam funcionando bem etc. Eu estava pronto para jogar a toalha e nunca olhar para trás.

Se você realmente deseja que alguém goste o suficiente para tentar aprender recursos mais avançados, inicie-o com o pé direito com um arquivo de configurações otimizado para o tipo de trabalho que precisa executar.

Jon B
fonte
4
Veja, eu me aproximei com nenhuma dessas expectativas irritantes que você mencionou. Isso foi ajudado pela conscientização de que nasceu décadas antes dos produtos que os usuários em geral estão familiarizados atualmente. Estou aberto a melhores maneiras de trabalhar, sejam elas familiares ou não. E realmente, selar um novato com seu próprio arquivo de configurações não é um tutorial muito bom!
Sublinhado #
+1. Eu tive a mesma experiência e não pude concordar mais. Quando você tem trabalho para concluir, mudar para qualquer novo editor pode ser doloroso / impossível. Não sei apenas como entregar um .vimrc, mas explicar o que é e ajudar um novo usuário a definir alguns padrões para seu estilo de trabalho pode não apenas ajudá-lo a ser produtivo rapidamente, mas também serve como uma maneira de expor parte do vi (m) é mágica.
Will
11
Ler um .vimrcarquivo com vários padrões úteis é realmente útil. Eu aprendi muito sobre o Vim apenas observando as opções definidas em github.com/amix/vimrc
icc97 31/03/17
Eu concordo completamente. O Vim seria ainda mais popular se mais algumas baterias fossem incluídas. Veja, por exemplo, o que eu tive que fazer para fazer a troca de palavras funcionar. Como está atualmente, vimfornece os blocos de construção básicos com os quais é necessário configurar / programar o editor de texto com o qual sempre sonhou.
Serge Stroobandt
9

A melhor maneira de inspirar um cachorro velho a usar um novo truque é pegar algo que ele está fazendo e mostrar como isso pode ser feito facilmente mais rápido / mais fácil / melhor de outra maneira.

Definitivamente, existe uma curva de aprendizado envolvida que apenas desativa algumas pessoas. Uma piada vai

Como você realmente gera uma string aleatória? Peça a um recém-chegado para fechar o vim.

Jesse
fonte
11
Bom ponto. Como alguém que tende a ser mais orientado ao teclado do que ao mouse, vi/ mem muitas situações, oferece-me um aumento de velocidade e / ou evita alternar entre os dispositivos de entrada. Além disso, faço várias coisas de prompt de comando (Linux, Cygwin) e visempre está .
Underscore_d
8

A melhor maneira é aprender o Vim e demonstrar o poder dele para os outros. Mesmo você não precisa (demonstrar) - é autopromocional. Quando você o usa com algumas cores de sintaxe sofisticadas em um fundo terminal hackish, as pessoas ficam curiosas e perguntam com frequência - o que diabos você está fazendo . Então mostre a eles.

Quando você emparelha a programação e vê que outro desenvolvedor começou a fazer algum trabalho repetitivo que parece uma tarefa sísifa (como bater no Backspace ou nas setas centenas de vezes), diga a ele o quanto isso o incomoda, como no Vim, são necessárias poucas teclas. menos de um segundo.

Verifique também as páginas a seguir para obter alguns truques úteis do Vim:

kenorb
fonte
11
Seu segundo parágrafo é direto. Exceto que a dor é ainda pior quando você os vê usando o vim , no modo de inserção , e pressionando as teclas de seta para mover para a direita até o final da linha . Arrrggh! (Não estou inventando isso.) #
Wildcard
11
Concordo com o @Wildcard, fiquei louco vendo meu colega tentando analisar dados de largura fixa contando pressionamentos de tecla , demorou algumas semanas, minha ajuda foi recusada. Sigh
roblogic
7

Mais importante: não force, não evangelize. Tenha certeza absoluta de sua motivação. Se houver uma sugestão de trabalho missionário, não comece. A esmagadora maioria das pessoas reage irritada ou agressivamente, porque a mera sugestão de verificar outro fluxo de trabalho carrega uma corrente de críticas. Que seu fluxo de trabalho pode ser melhor que o deles. O que fecha muitas pessoas. Na verdade, esse é um princípio geral que funciona independentemente da configuração (pense em vegetarianos / comedores de carne, democratas / republicanos, marcas de carros, receitas, etc.) Todos fazem o que fazem porque acreditam que o que fazem é o caminho certo para fazê-lo.

Pode muito bem ser que nenhuma crítica do seu lado seja intencional em primeiro lugar, mas isso acontece do outro lado e não há nada que você possa fazer sobre isso. Isso é humano para você.

Sugiro trazer o assunto à tona quando não houver prazo, em um ambiente descontraído. Fale com a sua experiência, de uma maneira como você ficou impressionado e quanto mais eficiente você se sente agora. Nunca compare. Nunca diga "é melhor", pois isso seria uma afirmação absoluta, apenas pedindo para ser desafiado. Sempre vá com "Eu sou mais produtivo dessa maneira". Dessa forma, a outra pessoa não pode descartar que você pode realmente ser mais produtivo e não exerce pressão. Se o outro escolher o tópico, seja gentil e talvez ofereça um ou dois links, o Vimcasts é um ótimo recurso, por exemplo.

Aprender o Vim é uma tarefa infernal, especialmente considerando a quantidade insana de tempo que você investe para fazer sua primeira configuração correta. Eu tinha tantos pontos de interrogação na cabeça durante esse tempo e a cada segundo cenário parecia sem sentido ou até hostil. É o oposto de intuitivo. Alguém fica com ele e fica progressivamente mais "aha!" momentos ou simplesmente o soltará para um editor mais parecido com o Word. O que quer que funcione.

No final, não vale a pena nenhum debate: todo mundo usa o que faz o trabalho. Essa é a beleza do código fonte: é universal.

Herrbischoff
fonte
7

A primeira vez que usei o vi foi em uma aula de "introdução ao Unix". O professor não o conhecia muito bem, e ele o apresentou de uma maneira muito desajeitada. Tínhamos que memorizar o suficiente para nos locomover se ficássemos presos em um sistema que não tinha mais nada instalado. Não dei uma segunda olhada depois daquele semestre. É assim que você não evangeliza o vi, e eu acho que é como muitas pessoas tiveram sua primeira experiência.

Alguns anos depois, eu estava em uma aula corporativa de educação continuada sobre Perl. O instrutor usou o vim em suas manifestações e ofereceu-se para ajudar as pessoas que estavam de fora, mesmo que esse não fosse o objetivo principal da classe.

Um lema não oficial do Perl é TMTOWTDI (há mais de uma maneira de fazer isso). Como a classe fazia perguntas, o instrutor fazia edições para mostrar alternativas, mais rápido do que ele poderia descrever as edições em palavras . Eu estava acostumado a ser capaz de ler o código enquanto estava sendo editado, mas para ele, a edição acontecia com uma enxurrada de teclas e, a seguir, a explicação, à velocidade glacial em comparação. Se ele não tivesse que parar para nos explicar a edição, ele já teria passado para a próxima tarefa.

Tenho algumas oportunidades semelhantes para demonstrar o vim:

  • Reuniões Scrum
  • Programação em par
  • Conversas sobre tecnologia
  • Demonstrações de software

Eu acho que apenas mostrar às pessoas o seu potencial depois que você aprender que as inspirará a superar o clunkiness inicial.

Karl Bielefeldt
fonte
Penso que a sua comparação das impressões criadas pelas duas exposições muito diferentes ao vi é uma lição muito valiosa. Já pensei nisso várias vezes desde que o li ... fica na minha mente. Obrigado.
Curinga
6

Foram os movimentos internos que fizeram meus olhos se transformarem em corações flutuantes para Vim. Além de .repetir e prefixar coisas com contagens, mostrar movimentos internos é geralmente uma das primeiras coisas que mostro / compartilho quando alguém me pergunta sobre o vim. ci(ou gUi>ou diw.

g;e g,pular para os lugares que você editou geralmente é bom para um olho arregalado ou dois.

Vai
fonte
2

Embora vitenha uma linhagem respeitada na história da computação, eu recomendaria focar vim. É um editor completo com recursos incríveis, combinando com qualquer um de seus concorrentes. Sua única desvantagem é a curva de aprendizado; leva tempo para obter a "mentalidade do Vim" e a memória muscular. Eu acho que vale a pena o esforço. Há muito poder à sua disposição quando você se torna proficiente em vim.

  1. Demonstre o poder do vimscript para automatizar tarefas chatas de processamento de texto.
  2. Instale plugins legais como vim-airline, porque todo mundo gosta de uma boa interface do usuário.
  3. Existem muitos tutoriais gratuitos por aí, como este .
  4. vi/ vimestá instalado em todos os sistemas baseados em Unix; portanto, qualquer administrador profissional deve ter um conhecimento prático dele.
roblogic
fonte
O ponto crucial da minha pergunta é "Como" em relação ao ponto 1 da sua resposta. Você já teve alguma experiência mostrando isso para outras pessoas ou sendo mostrado a si mesmo?
Wildcard
Não demonstro muito, mas uso roteiros pequenos do vim para limpar texto, mas como você, não tenho muito interesse dos colegas (eles preferem despejar a saída em documentos enormes que ninguém lê)
roblogic
0

Eu amo o VIM, mas a curva de aprendizado é íngreme.

É improvável que qualquer profissional que ainda não adotou o VIM seja persuadido pela argumentação . Somente por necessidade.

Ouvindo as pessoas que dizem usar o VIM regularmente, o maior caso de uso é de administradores que gerenciam várias máquinas * NIX remotamente com CLI via SSH.

O VIM está literalmente instalado em quase todas as máquinas * NIX do planeta.

O VIM tem mais de 25 anos e permanece inalterado desde que comecei a usá-lo em 1998.

xtian
fonte
0

Simplesmente peça ao aluno que troque duas palavras com o processador Word ™…

… Então mostre como o mestre faz isso vim. (Aqui está o mapeamento para fazer isso; mais aqui .)

Finalmente, deixe a contemplar aluno se ele / ela realmente tem vindo a trabalhar com uma palavra processador até agora.

Serge Stroobandt
fonte
11
Inteligente, mas control-backspace excluirá uma palavra em praticamente qualquer editor do Windows, e alt-backspace em praticamente qualquer editor do Mac.
Wildcard
@Wildcard Eu estava duvidando entre excluir e minha primeira idéia de seleção. Você está absolutamente certo, é claro. Portanto, mudei novamente para selecionar.
Serge Stroobandt
Parado - pressione a tecla Ctrl e as setas esquerda / direita (ou as teclas Alt e Shift no Mac). :)
Curinga
@Wildcard Eu acho que entendi agora. Eu tive que reconstruir meu raciocínio passado. ;)
Serge Stroobandt 25/09
@Wildcard Obrigado por insistir. Eu tive dificuldade em lembrar o que exatamente me levou a fazer a mudança drástica gvim. Agora, eu me lembro bem. Foi trocar / mover palavras em uma frase ao escrever um texto em inglês como um falante não nativo. Eu escrevi meus próprios mapeamentos vimscript para fazer exatamente isso.
Serge Stroobandt 25/09
0

O Vim também trata de reavaliar arquivos de texto sem formatação

No contexto da criação de documentos, o valor de vimnão está apenas em suas fabulosas habilidades de edição de palavras. O Vim também é um caminho para restabelecer o valor do arquivo de texto sem formatação onipresente e sua garantia de compatibilidade com versões anteriores atemporais.

O Vim também se concentra exclusivamente no conteúdo; não formatar

Se alguém não gosta de editar páginas da Web, a separação do conteúdo do formato pode ser um conceito de quebra de paradigma para qualquer funcionário de escritório comum. Por esse motivo, gosto de me mostrar gvimcomo editor do Markdown em combinação com o Pandoc e talvez a makefile.

Isso também é uma boa demonstração da filosofia Unix ou GNU / Linux de combinar e canalizar programas que são extremamente bons em apenas uma coisa.

Como um bônus, você verá que as vimcombinações básicas de teclas são usadas em muitos outros programas GNU / Linux.

Serge Stroobandt
fonte
0

Ergonomia

Com a configuração certa, posso trabalhar por horas sem sentir dores nos ombros ou nas costas.

A configuração correta é de curso diferente para todos, mas usando Vim em um terminal, mapeamento Escde Capslocke desativação do as teclas do cursor do mouse, é um bom começo.

Laktak
fonte