Come posso ispirare gli altri a usare vi / Vim?


37

Sono stato estremamente colpito dal potere di vi dalla prima mezz'ora in cui l'ho usato. Ho poi scoperto che in alcuni ambienti di lavoro, ci sono molte persone (tecnici e persino amministratori di sistema!) Che lo evitano come "troppo complicato" senza aver mai eseguito il vimtutor, e ancora altre persone che usano vi solo in modalità insert e manca l'intero punto del montaggio modale.

Come posso dimostrare agli altri il potere di vi / Vim in modo da ispirarli ad apprenderlo e ad usarlo?

Sono particolarmente interessato a qualsiasi storia reale di ciò che ha avuto successo nel far sì che gli altri (o te stesso) imparino e utilizzino Vim.


4
Ho letto le linee guida su domande soggettive e penso che ciò vada bene.
Carattere jolly

@Wildcard forse si adatta a domande soggettive, ma è davvero troppo ampia. Vedi meta.vi.stackexchange.com/q/1278/205 per la discussione che abbiamo avuto su una domanda "soggettiva" simile.
Muru,

Vedo il tuo punto. Ho letto quella discussione (e diverse discussioni collegate). Penso ancora che questa domanda sia appropriata, ma non credo che dovrei discuterne qui; c'è un posto in meta dove dovremmo discuterne?
Wildcard il

@Wildcard puoi sempre pubblicare una domanda su Vi e Vim Meta su questa domanda.
Muru,

Risposte:


54

Sebbene abbia investito alcuni sforzi in Vim e nel suo ecosistema, non provo attivamente a convertire gli altri. La maggior parte delle persone con cui ho lavorato non investe molto tempo nel migliorare il flusso di lavoro e il set di strumenti perché sono soddisfatti di ciò che hanno. Lo trovo perfettamente bene ... e odierei essere il bersaglio di un costante proselitismo legato all'editore, quindi non lo impongo agli altri.

A volte, però, un collega potrebbe essere incuriosito dalla mia valutazione e farmi un paio di domande. Quando si verifica quel raro evento, sono più che felice di discutere l'argomento, trucchi dimostrativi e indicarlo a risorse utili.

Nel mio ultimo lavoro, un collega era molto interessato da Vim e conosceva abbastanza bene le basi ( vimtutor). Gli bastava essere in grado di eseguire modifiche rapide, ma gli mancava la sicurezza e il know-how per passare effettivamente a Vim (qualcosa che voleva davvero). A un certo punto, ha dovuto eseguire manualmente una serie di modifiche ripetitive su un file JSON di grandi dimensioni. Era angosciato dall'idea di perdere un'ora a farlo e venne da me alla ricerca di una soluzione più veloce / più intelligente. Naturalmente, una semplice macro ha fatto il lavoro in meno di un minuto (inclusa la registrazione) che mi ha permesso di spiegare alcuni concetti chiave ...

Un problema affrontato dai nuovi arrivati ​​è che "E adesso?" momento che arriva subito dopo vimtutor. Vim nasconde la sua bellezza molto bene e non molte persone hanno la volontà di rompere quel guscio senza aiuto. Posso fornire quell'aiuto se necessario ... ma non costringerò mai Vim ad altri.


20

Uso Vim per tutto. Intendo tutto. Programmazione, elaborazione testi, scrittura di romanzi, ecc. Tutto. Sono stato seduto in una concessionaria di auto utilizzando un Surface Pro 3 con Linux Virtual Box con Vim e ho avuto persone che hanno iniziato a conversare con me su ciò che sto facendo.

Usa Vim. Le persone accorreranno a te per scoprire cosa stai facendo e perché. Di solito lo spiego in questo modo -

Uso Vim perché ha un ingombro molto ridotto. Microsoft Word ha diversi gigabyte e il mio Surface ha solo 128 GB di spazio. Devo massimizzare il mio spazio e Vim mi aiuta a farlo. È anche estensibile e mi aiuta a rimanere concentrato. Ecco, guarda. Demo alcuni dei miei plugin e mostra come Vim a schermo intero essenzialmente copre tutto in modo che io possa pensare .

Dimostro spesso LaTeX in combinazione con Vim. Costruirò un file LaTeX e poi lo compilerò in un bellissimo PDF usando un modello che ho. Demo anche la mia lettera e riprendo i modelli. Sottolineo quanto sia importante separare lo stile dal contenuto. A questo punto le persone non sono più interessate a ciò che devo dire e rimpiango di avermi parlato.

Cercano una via d'uscita dalla conversazione e io torno a scrivere. Vim è un'esperienza religiosa più che un elaboratore di testi.


3
Mi chiedo: scrivi anche tu la tua e-mail in vim? (

5
@Oliphaunt Scrivo e-mail in VIM. Il mio client di posta elettronica preferito è MUTT e quando modifico o creo una nuova e-mail, si apre il mio editor di scelta. Uso persino VIM per aggiungere URL al mio lettore di feed RSS (newsbeuter).
ILikeTurtles,

7
Alcune persone hanno deciso di modificare la mia risposta affermando che uso Visual Basic. Uso Virtual Box ed eseguo Linux su Windows. Tuttavia, penso che queste modifiche siano molto interessanti, quindi la lascerò. È un po 'come suonare il telefono con le modifiche. La storia continua a cambiare e più persone la modificano. Divertimento.
ILikeTurtles,

2
@Will Yep. Ho una VM che occupa qualcosa come 2 GB o meno. Preferirei installare un intero sistema operativo, VIM e tutti i miei altri strumenti piuttosto che installare un 4 GB o qualunque copia di Microsoft Tools. La VM stessa può espandersi se ne ho bisogno, ma non è ancora successo dal momento che lavoro principalmente con file di testo quando mi occupo di quel particolare computer. Se stavo usando FreeBSD, potrei potenzialmente eseguire un footprint ancora più piccolo e probabilmente eseguire l'intera VM in un concerto.
ILikeTurtles,

3
Office 365 richiede fino a 6 GB di spazio su disco rigido e fino a 4 GB di RAM. Posso eseguire un intero sistema operativo Linux usando 4 GB di spazio HD e 1028 MB di RAM. Meno se voglio spingere le cose. Ho eseguito FREEBSD in una macchina virtuale e gli ho dato solo 256 MB di RAM. VIM per me sostituisce Office ma, inoltre, un'installazione completa del sistema operativo mi offre molti più strumenti di quanti ne offra Office in meno footprint. Spero che abbia un senso.
ILikeTurtles,


13

Come qualcuno che ha dovuto imparare Vim nel mio ultimo lavoro, direi che l'ostacolo più grande è stato messo di fronte a un'installazione "predefinita" che non aveva opzioni impostate. Ho trascorso la maggior parte del tempo a dire "Perché si comporta in questo modo quando tutti si aspettano che faccia il contrario?"

Si scopre che tutti gli altri hanno già impostato alcune impostazioni predefinite di "sanità mentale" . Una volta capito, ero molto più felice e "gli ho dato la possibilità" di saperne di più. Dopo alcuni giorni in cui il tastierino numerico non funzionava, le schede erano sbagliate, le ricerche non funzionavano bene, ecc. Ero pronto a gettare la spugna e non guardare mai indietro.

Se vuoi davvero che a qualcuno piaccia abbastanza per provare ad apprendere funzionalità più avanzate, avvialo con il piede giusto con un file di impostazioni ottimizzato per il tipo di lavoro che deve svolgere.


4
Vedi, mi sono avvicinato senza nessuna di queste fastidiose aspettative che hai menzionato. Ciò è stato aiutato dalla consapevolezza che è nato decenni prima che i prodotti che gli utenti generali conoscono oggi. Sono aperto a modi migliori di lavorare, che siano familiari o meno. E davvero, sellare un principiante con il tuo file di impostazioni non è un ottimo tutorial!
underscore_d

+1. Ho avuto la stessa esperienza e non potrei essere più d'accordo. Quando hai del lavoro da completare, passare a qualsiasi nuovo editor può essere doloroso / impossibile. Non so solo di consegnare un .vimrc ma spiegare di cosa si tratta e aiutare un nuovo utente a impostare alcune impostazioni predefinite per il suo stile di lavoro può non solo aiutarli a essere produttivi rapidamente, ma serve anche come modo per iniziare a esporre parte di vi (m) la magia.
Sarà il

1
Leggere un .vimrcfile con una serie di utili impostazioni predefinite è davvero utile. Ho imparato molto su Vim solo guardando le opzioni impostate in github.com/amix/vimrc
icc97

Sono completamente d'accordo. Vim sarebbe ancora più popolare se fossero incluse alcune batterie in più. Guarda ad esempio cosa ho dovuto fare per far funzionare lo scambio di parole . Allo stato attuale, vimfornisce gli elementi di base da cui si deve configurare / programmare l'editor di testo che si è sempre sognato.
Serge Stroobandt,

9

Il modo migliore per ispirare un vecchio cane a usare un nuovo trucco è quello di prendere qualcosa che stanno facendo e mostrare come può essere fatto facilmente più velocemente / più facilmente / meglio in un altro modo.

C'è sicuramente una curva di apprendimento coinvolta che però spegne alcune persone. Uno scherzo va

Come si genera veramente una stringa casuale? Chiedi a un nuovo arrivato di chiudere vim.


1
Buon punto. Come qualcuno che ha la tendenza ad essere orientato alla tastiera piuttosto che al mouse, vi/ min molte situazioni mi offre un aumento di velocità e / o evita di passare da un dispositivo di input all'altro. Inoltre, faccio un po 'di cose al prompt dei comandi (Linux, Cygwin), ed viè sempre .
underscore_d

8

Il modo migliore è imparare Vim te stesso e dimostrarne il potere agli altri. Anche tu non devi (dimostralo) - si auto-promuove. Una volta che lo usi con alcuni fantasiosi colori di sintassi su uno sfondo terminale simile a un hacker, le persone diventano curiose e spesso chiedono: che diamine stai facendo . Quindi mostraglielo.

Quando accoppi la programmazione e vedi che un altro sviluppatore ha iniziato a svolgere un lavoro ripetibile che sembra un'attività di Sisifo (come colpire il Backspace o le frecce centinaia di volte), digli quanto ti infastidisce come in Vim ci vogliono solo pochi tasti in meno di un secondo.

Controlla anche le seguenti pagine per alcuni utili trucchi di Vim:


1
Il tuo secondo paragrafo è perfetto. Tranne che il dolore è ancora peggio quando li vedi usando vim , in modalità insert , e premendo i tasti freccia per spostarti fino alla fine della linea . Arrrggh! (Non me lo sto inventando.)
Wildcard il

1
Concordo con @Wildcard, mi ha fatto impazzire guardando il mio collega che cercava di analizzare i dati a larghezza fissa contando i tasti premuti , gli ci sono voluti un paio di settimane, il mio aiuto è stato rifiutato. Sospiro
roblogic

7

Ancora più importante: non spingere, non evangelizzare. Sii assolutamente sicuro della tua motivazione. Se c'è anche un accenno di lavoro missionario, non iniziare. La stragrande maggioranza delle persone reagisce infastidita o aggressiva, perché il semplice suggerimento di verificare un altro flusso di lavoro comporta una corrente sotterranea di critiche. Che il tuo flusso di lavoro potrebbe essere migliore del loro. Il che chiude molte persone. In realtà, questo è un principio generale che funziona indipendentemente dall'impostazione (pensa Vegetariani / Mangiatori di carne, Democratici / Repubblicani, marchi di auto, ricette, ...) Fanno tutti quello che fanno perché credono che quello che fanno sia il modo giusto di farlo.

Potrebbe benissimo essere che nessuna critica da parte tua sia intesa in primo luogo, ma ciò accade dall'altra parte e non c'è nulla che tu possa fare al riguardo. Sono umani per te.

Suggerisco di sollevare l'argomento quando non c'è una scadenza, in un ambiente rilassato. Parla della tua esperienza, in un modo quanto sei stato colpito e quanto più efficiente ti senti ora. Non confrontare mai. Non dire mai "è meglio", dato che sarebbe un'affermazione assoluta, chiedendo solo di essere sfidato. Vai sempre con "Sono più produttivo in questo modo". In questo modo l'altra persona non può ignorare che potresti effettivamente essere più produttivo e non esercitare alcuna pressione. Se l'altro prende l'argomento, sii gentile e magari offri di condividere un link o due, Vimcasts è una grande risorsa per esempio.

Imparare Vim è un compito infernale, soprattutto considerando la folle quantità di tempo che investi per ottenere la prima configurazione corretta. Avevo così tanti punti interrogativi in ​​testa in quel periodo e ogni secondo mi sembrava insensato o addirittura ostile. È l'opposto dell'intuitivo. O qualcuno rimane fedele e diventa progressivamente più "aha!" momenti o lo lascerà semplicemente per un editor più simile a Word. Basta che funzioni.

Alla fine non vale davvero la pena discutere: tutti usano semplicemente ciò che fa il lavoro. Questa è la bellezza del codice sorgente: è universale.


7

La prima volta che ho usato vi era in una classe "introduzione a Unix". L'insegnante non lo sapeva molto bene e lo presentò in modo molto goffo. Abbiamo dovuto memorizzare abbastanza da aggirare se ci fossimo mai bloccati in un sistema su cui non era installato nient'altro. Non ho fatto una seconda occhiata dopo quel semestre. È così che non evangelizzi vi, e penso che molte persone abbiano avuto la loro prima esperienza.

Qualche anno dopo, frequentavo un corso di formazione continua aziendale sul Perl. L'istruttore ha usato VIM nelle sue dimostrazioni e si è offerto di aiutare le persone con esso sul lato, anche se non era lo scopo principale della classe.

Un motto non ufficiale di Perl è TMTOWTDI (c'è più di un modo per farlo). Mentre la classe poneva domande, l'istruttore avrebbe apportato modifiche per mostrare alternative, più velocemente di quanto potesse descriverle a parole . Ero abituato a poter leggere il codice mentre veniva modificato, ma per lui l'editing avveniva in una raffica di tasti, quindi la spiegazione seguì, a velocità glaciale a confronto. Se non si fosse dovuto fermare a spiegarci la modifica, sarebbe già passato all'attività successiva.

Ho alcune opportunità simili per dimostrare vim:

  • Incontri Scrum
  • Coppia di programmazione
  • Tech colloqui
  • Dimostrazioni di software

Penso che mostrare alle persone il proprio potenziale solo dopo aver appreso che li ispirerà a superare il clunkiness iniziale.


Penso che il tuo confronto delle impressioni create dalle due esposizioni molto diverse su vi sia una lezione molto preziosa. Ci ho pensato molte volte da quando l'ho letto ... mi viene in mente. Grazie.
Wildcard il

6

Sono stati i movimenti interiori a trasformare i miei occhi in cuori fluttuanti per Vim. Oltre alle .ripetizioni e al prefisso delle cose con i conteggi, mostrare i movimenti interiori è di solito una delle prime cose che mostro / condivido quando qualcuno mi chiede di VIM. ci(o gUi>o diw.

g;e g,saltare nei luoghi che hai modificato è di solito utile per un paio di occhi.


2

Sebbene viabbia un pedigree rispettato nella storia dell'informatica, consiglierei di concentrarmi su vim. È un editor completo con incredibili capacità, adatto a tutti i suoi concorrenti. L'unico inconveniente è la curva di apprendimento; ci vuole tempo per ottenere la "mentalità di Vim" e la memoria muscolare. Penso che ne valga la pena. C'è molto potere a tua disposizione quando diventi competente vim.

  1. Dimostrare la potenza di vimscript per automatizzare noiose attività di elaborazione del testo.
  2. Installa plugin fantastici come vim-airline, perché a tutti piace una buona interfaccia utente.
  3. Ci sono un sacco di tutorial gratuiti in giro, come questo .
  4. vi/ vimè installato su tutti i sistemi basati su Unix; quindi qualsiasi sysdamin professionale dovrebbe averne una conoscenza pratica.

Il vero punto cruciale della mia domanda è "How" per quanto riguarda il punto 1 della tua risposta. Hai avuto esperienze che mostrano questo agli altri o ti hanno mostrato?
Carattere jolly

Non tanto dimostrando, ma uso regolarmente piccoli script VIM per ripulire il testo, ma come te non ho molto interesse da parte dei colleghi (preferiscono scaricare l'output in enormi documenti che nessuno legge)
roblogic

0

Adoro VIM, ma la curva di apprendimento è ripida.

È improbabile che qualsiasi professionista che non abbia ancora adottato VIM possa essere perseguitato dalla discussione . Solo per necessità.

Ascoltando le persone che affermano di utilizzare VIM su base regolare, il più grande caso di utilizzo proviene da amministratori che gestiscono più macchine * NIX in remoto con CLI tramite SSH.

VIM è letteralmente installato su quasi ogni macchina * NIX sul pianeta.

VIM ha più di 25 anni e rimane invariato da quando ho iniziato a usarlo nel 1998.


0

Chiedi semplicemente all'alunno di scambiare due parole con il suo processore Word ™ ...

... quindi mostra come il master fa questo vim. (Ecco la mappatura per farlo; altro qui .)

Infine, lascia che l'alunno contempli se finora ha davvero lavorato con un elaboratore di testi.


1
Intelligente, ma control-backspace eliminerà una parola in quasi tutti gli editor di Windows e alt-backspace in quasi tutti gli editor di Mac.
Wildcard il

@Wildcard Stavo dubitando tra delete e la mia prima idea selezionata. Hai assolutamente ragione, ovviamente. Pertanto, l'ho cambiato di nuovo per selezionare.
Serge Stroobandt,

Ancora: premi le frecce sinistra / destra (o le frecce alt-shift per Mac). :)
Wildcard il

@Wildcard Penso di averlo ottenuto ora. Ho dovuto ricostruire il mio ragionamento passato. ;)
Serge Stroobandt,

@Wildcard Grazie per aver insistito. Ho avuto difficoltà a ricordare esattamente cosa mi ha spinto a fare il drastico cambiamento gvim. Ora mi ricordo bene. Stava scambiando / muovendo parole in una frase quando scrivevo un testo inglese come un madrelingua. Ho scritto le mie mappature di vimscript per fare esattamente questo.
Serge Stroobandt,

0

Vim riguarda anche la rivalutazione dei file di testo semplice

Nel contesto della creazione di documenti, il valore di vimnon sta solo nelle sue favolose capacità di editing delle parole. Vim è anche un percorso per ripristinare il valore dell'onnipresente file di testo semplice e la sua garanzia di compatibilità all'indietro senza tempo.

Vim si concentra anche esclusivamente sul contenuto; non formattare

Se non si è interessati alla modifica delle pagine Web, la separazione dei contenuti dal formato potrebbe essere un paradigma concetto sconvolgente per qualsiasi normale impiegato. Per questo motivo, mi piace mettermi in mostra gvimcome editor Markdown in combinazione con Pandoc e forse a makefile.

Questo sembra anche essere una buona dimostrazione della filosofia Unix o GNU / Linux di combinazione e piping di programmi che sono estremamente bravi in ​​una sola cosa.

Come bonus, vedrai che le vimcombinazioni di tasti di base sono usate in molti altri programmi GNU / Linux.


0

Ergonomia

Con la giusta configurazione posso lavorare per ore senza avere dolori alla spalla o alla schiena.

La messa a punto giusta è ovviamente diverso per tutti, ma usando Vim in un terminale, la mappatura Escper Capslocke disattivando i tasti cursore del mouse ed è un buon inizio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.