Come imparare vim ad alto livello? [chiuso]


77

So che vim (come emacs) è un editor molto potente per i programmatori, purché tu sappia come usarlo, i suoi collegamenti e così via. Quali passi posso prendere e quali tutorial posso leggere per diventare un utente avanzato di VIM?


Potresti fare riferimento alla wiki della community qui - ubuntu.stackexchange.com/questions/804/…
myusuf3

Risposte:


116

Passaggio 0: impara a toccare il tipo. Scherzi a parte - se le dita non sanno dove sono le chiavi, allora Vim sarà un dolore. E anche se rifiuti Vim, la digitazione tattile migliorerà la tua programmazione (chiedi a Steve Yegge ) rendendo la mente libera di monitorare l'attrito del collegamento. C'è un sacco di software che possono aiutare voi a migliorare la digitazione.

Passaggio 1: utilizza le preferenze della tastiera per scambiare BLOC MAIUSC e FUGA: sul serio, con quale frequenza usi BLOC MAIUSC? Usando vim utilizzerai Escape tutto il tempo, e averlo disponibile nella riga home fa una grande differenza. Con il desktop Ubuntu standard, vai nei menu: Sistema -> Preferenze -> Tastiera -> scheda Layout. Quindi premi il pulsante "Opzioni layout", fai clic sul triangolo accanto a "Comportamento tasto BLOC MAIUSC" e seleziona "Scambia ESC e BLOC MAIUSC". (Notare come è cambiato: vedere questo per come fare in 14.04 .

Passaggio 2: utilizzare vimtutor per iniziare. È in gvim (sotto il menu di aiuto credo) o puoi semplicemente digitare 'vimtutor' dalla riga di comando. Ci vorranno 30-45 minuti del tuo tempo e poi le tue dita conosceranno le basi di vi / vim e dovresti essere in grado di modificare i file senza voler scagliare la tastiera dalla finestra.

Step 3: usa vim ovunque. Vedi questa domanda da StackOverflow per suggerimenti e collegamenti per l'utilizzo di combinazioni di tasti vim e vi nella riga di comando, dal tuo browser web, per la composizione di e-mail, nel tuo IDE ... Devi usare vim per incorporare le associazioni di tasti nella memoria muscolare .

Passaggio 4: ulteriori informazioni su Vim. Avrai solo graffiato la superficie con vimtutor. Puoi

Imparare un po 'spesso sarebbe il mio consiglio: c'è così tanto là fuori che attenersi a bocconcini di dimensioni ridotte sarà il modo migliore per far aderire la conoscenza.

Passaggio 5: profitto :)


10
non riesco a votare abbastanza :)
tutuca

Grazie mille per la migliore risposta! Fortunatamente, sono già touch dattilografo. :) Quindi, seguirò i prossimi passi ...
Zango

1
Il passaggio 2 è così importante. Modificato Vim da un essere un dolore per il mio editore preferito.
Matteo

2
Voglio fare il passo 3, puoi persino usare (g) vim su Windows o Mac o ... (vedi vim.org/download.php ) Usare solo un editor ti farà conoscere meglio.
Ddeimeke,

Rendi il blocco maiuscole un controllo extra (o scambiale). Vim ha molti usi di ctrl, più di quanto io usi escape (io imap kj per scappare comunque), ma quel tasto di controllo pratico e più semplice è utile anche in ogni altro programma che uso.

22

Il pacchetto di moduli "vimtutor" "vim" è probabilmente il punto di partenza migliore.


14

Due cose:

  1. Impara a digitare. Non c'è davvero nessun altro modo. Quindi associare ESC a ";;" quindi non devi mai lasciare la tua fila di casa:inoremap ;; <esc>

  2. Cerca github per altrui .vimrcs

E un terzo: VimCasts




6

Sembrerà sciocco, ma conoscerai il comando di aiuto di vim. Il sistema di aiuto è straordinariamente intuitivo e facile da navigare.

L'aiuto è disponibile digitando :help. Puoi scoprire un argomento specifico includendolo nella riga di comando (ad es :help insert.). Puoi scorrere gli argomenti premendo la scheda dopo aver digitato uno o più caratteri dell'argomento.

La guida è hyperlink, con collegamenti indicati in grassetto o in testo colorato. Puoi seguire i collegamenti premendo <Ctrl -]> quando il cursore è su di esso e <Ctrl-t> per tornare indietro. Per ottenere aiuto, digitare :q.


1
E contiene due manuali completi: il manuale dell'utente e il manuale di riferimento. Non hai bisogno di altro che Vimtutor e: aiuta a diventare un esperto di Vim.
Marius Gedminas,

5

Alcune grandi risposte. Sicuramente cerca di integrarlo nella vita quotidiana e assicurati di non provare a inondare troppo il tuo cervello alla volta. C'è solo troppo da vedere per imparare tutto in una settimana.

Inizialmente basta iniziare con uno / due nuovi comandi / tasti a settimana. Usali e incorporali nel tuo cervello. Non devi fare riferimento a un cheat sheet tutto il giorno.

Ho una configurazione di esempio di configurazione di VIM che è davvero ben documentata che pubblico per le persone: http://github.com/mitechie/pyvim

Non limitarti a copiare / incollare però. Assicurati di capire cosa sta succedendo nella tua configurazione di VIM in modo da non dimenticare / fraintendere cosa sta facendo per te.

e ho iniziato a fare alcuni screencast vim: http://lococast.net/archives/111




3

So che potrei ottenere un feedback negativo per questa risposta, poiché potrebbe danneggiare i fan e gli utenti di Vim: prima chiediti cosa vuoi fare. E solo se vim è lo strumento migliore per quel compito specifico, fai quello che ti dicono tutte le altre risposte.

O per dirlo con più immagini: puoi provare a ottenere il doppio più velocemente o bene con un martello di quello che sei ora. Ma a seconda della situazione un cacciavite può aiutare più del martello. :)


4
Sì, come fan di Vim devo dire che Vim è un po 'più di un martello. Può fornire utili usi per chiunque, da amministratore di sistema, amministratore di database, programmatore (di qualsiasi lingua) e anche semplicemente editor di testo senza fronzoli. È installato di default su tutti i sistemi per un motivo e non so che ci sia molto da dire "beh, hai davvero bisogno di conoscerlo affatto" Oltre a ciò, l'utente lo ha pubblicato esplicitamente per trovare modi / aiuto per avanzare la loro conoscenza ed esperienza vim.
Rick,

1
Sono totalmente d'accordo con te!
ddeimeke,

2

Non ho ancora imparato Vim, ma penso che facendo tutta la mia navigazione con l'estensione Pentadactyl per Firefox sarà meno difficile quando mi muovo per farlo.

Tutti i campi di testo e la riga di comando possono essere trattati come la modalità normale di Vim con un Ctrl T (o automaticamente, se si modifica un'impostazione); tuttavia, ecco dove al momento cade per me poiché molte azioni sono interpretate come globali, ad esempio il tentativo di incollare con p apre un url con il testo che si trova nel buffer e il tentativo di sovrascrivere il testo con r ricarica la pagina. Ma puoi aprire il campo di testo in Gvim premendo Control I, quindi non è davvero un problema.

Un altro problema è che rende i siti Web come Gmail o Remember the Milk più difficili da usare poiché hai ancora un'altra modalità con cui confrontarti.


2

Consulta le risposte ai suggerimenti dei principianti per l'apprendimento di Vim da Programmers SE

Per ribadire la mia risposta a questa domanda:


Ho imparato molto dal libro di O'Reilly "Imparare gli editori Vi e Vim" . È il miglior libro di Vim che abbia letto.

Consiglio anche di provare:

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.