GNU/Linux >> Linux Esercitazione >  >> Linux

Rendere Vim ancora più fantastico con queste fantastiche funzionalità

Vim è piuttosto parte integrante di Every Linux Distribution e lo strumento più utile (ovviamente dopo il terminale) per gli utenti Linux. Almeno, questa teoria vale per me. Le persone potrebbero obiettare che per la programmazione, Vim potrebbe non essere una buona scelta in quanto ci sono IDE diversi o altri editor di testo sofisticati come Sublime Text 3, Atom, ecc. che rendono il lavoro di programmazione abbastanza più semplice.

I miei pensieri

Ma quello che penso è che Vim funziona nel modo in cui lo vogliamo fin dall'inizio, mentre altri editor ci fanno lavorare nel modo in cui sono stati progettati, non nel modo in cui vogliamo che funzionino effettivamente. Non posso dire molto sugli altri editor perché non li ho usati molto (sono di parte con Vim).

Ad ogni modo, facciamo qualcosa con Vim, che fa davvero dannatamente bene il dio Job.

​Vim per la programmazione

Esecuzione del codice

Considera uno scenario, cosa facciamo quando lavoriamo su un codice C++ su Vim e dobbiamo compilarlo ed eseguirlo.

(un). Torniamo al terminale tramite (Ctrl + Z) o semplicemente lo salviamo e lo chiudiamo (:wq).

(b). E i problemi non sono finiti, ora dobbiamo digitare qualcosa sul terminale come questo { g++ fileName.cxx }.

(c). E dopo eseguilo digitando { ./a.out } .

Certamente molte cose dovevano essere fatte per far girare il nostro codice C++ sulla shell. Ma non sembra essere un modo Vim per farlo (poiché Vim tende sempre a tenere quasi tutto sotto una/due pressioni di tasti). Allora, qual è il modo in cui Vim fa queste cose?

La Via Vim

Vim non è solo un editor di testo, è una sorta di linguaggio di programmazione per la modifica del testo. E quel linguaggio di programmazione che ci aiuta ad estendere le funzionalità di Vim è "VimScript". Quindi, con l'aiuto di VimScript, possiamo facilmente automatizzare la nostra attività di compilazione ed esecuzione del codice con un semplice tasto.

Sopra c'è un frammento del mio file di configurazione .vimrc in cui ho creato una funzione chiamata CPP().

Creazione di funzioni in VimScript

La sintassi per creare una funzione in VimScript è piuttosto semplice. Inizia con la parola chiave "funzione ” ed è seguito dal nome della funzione [Il nome della funzione deve iniziare con una lettera maiuscola in VimScript, altrimenti Vim darà un errore]. E la fine della funzione è indicata dalla parola chiave "endfunc ”.Nel corpo della funzione, puoi vedere un exec istruzione, qualunque cosa tu scriva dopo che la parola chiave exec è stata eseguita nella modalità di comando di Vim (ricorda la cosa che inizia con:nella parte inferiore della finestra di Vim). Ora, la stringa che ho passato a exec è –

Quello che succede è quando questa funzione viene chiamata, prima cancella lo schermo del terminale, in modo che solo tu visualizzi il tuo output, quindi esegue g++ sul nome del file su cui stai lavorando e quindi esegue il file a.out formato a causa di compilation.Mapping Ctrl+r per eseguire codice C++
————————————————————-
Ho mappato l'istruzione :call CPP() alla combinazione di tasti (Ctrl+r) in modo da poter ora premere Ctrl+r per eseguire il mio codice C++ senza digitare manualmente :call CPP() e quindi premere Invio.

Risultato finale

Alla fine siamo riusciti a trovare il modo Vim di fare quelle cose. Quindi ora, basta premere un pulsante e l'output del codice C++ è sullo schermo, non è necessario digitare tutta quella cosa lunga. In un certo senso ti fa risparmiare tempo.

Possiamo ottenere questo tipo di funzionalità anche per altre lingue.

Quindi per Python:ora puoi premere per interpretare il tuo codice.

Per Java:ora puoi premere , prima compilerà il tuo codice Java, quindi interpreterà il tuo file di classe java e ti mostrerà l'output.

L'immagine non è finita, marcia di un livello profondo

Quindi, si trattava di come puoi manipolare le cose per funzionare a modo tuo in Vim. Ora, si tratta di come implementiamo tutto questo in Vim. Possiamo usare questi frammenti di codice direttamente in Vim e viceversa è usando gli AutoCommands in Vim (autocmd's). Il bello di autocmd è che questi comandi non devono essere chiamati dagli utenti, vengono eseguiti da soli in qualsiasi condizione specificata dall'utente.

Quello che voglio fare con questa cosa [autocmd] è che, invece di usare mappature diverse per eseguire l'esecuzione di codici in linguaggi di programmazione diversi, vorrei una mappatura singola per l'esecuzione per ogni linguaggio.

​Quello che abbiamo fatto qui è che ho scritto comandi automatici per tutti i tipi di file per i quali avevo funzioni per l'esecuzione del codice.

Quello che accadrà è non appena apro un buffer di uno qualsiasi dei tipi di file sopra menzionati, Vim mapperà automaticamente il mio (Ctrl + r) alla chiamata di funzione e rappresenta il tasto Invio, in modo che io non è necessario premere il tasto "Invio" ogni volta che premo e solo fa il lavoro.

Per ottenere questa funzionalità, devi solo aggiungere i frammenti di funzione al tuo [dot]vimrc e quindi inserire tutti quegli autocmds. E con ciò, la prossima volta che apri Vim, Vim avrà tutte le funzionalità per eseguire tutti i codici con gli stessi KeyBindings.

Conclusione

È tutto per ora. Spero che questa cosa ti faccia amare ancora di più il tuo Vim. Attualmente sto esplorando cose in Vim, leggendo Documentazioni, ecc. e facendo aggiunte nel file [.vimrc] e ti contatterò di nuovo quando avrò qualcosa di meraviglioso da condividere con tutti voi.

Se vuoi dare un'occhiata al mio attuale file [.vimrc], ecco il link al mio account Github: MyVimrc.


Linux
  1. Rendere i computer più accessibili e sostenibili con Linux

  2. Rendi la cronologia di Bash più utile con questi suggerimenti

  3. Nozioni di base su Linux:una guida per principianti alla modifica del testo con vim

  4. Linux Mint 19 – Data di rilascio, nuove funzionalità e altro

  5. du -h con più cifre decimali

Proteggi la tua privacy online con queste distribuzioni Linux

Terminologia, un miglior emulatore di terminale con molte funzionalità

Suggerimenti Vim:modifica file remoti con Vim su Linux

Ottieni di più dal tuo Kindle in Linux con questi semplici suggerimenti

Fantastici cheat sheet di Vim per aiutarti a imparare Vim

Lavorare con l'editor Vim (editor di testo)