Quali funzionalità aggiuntive offrono gVim e / o MacVim rispetto a Vim all'interno di un emulatore di terminale?


23

Sto imparando Vim guardando gli screencast. E mi chiedo, perché molte persone usano gVim o MacVim?

Da quello che posso vedere, la versione GUI Vim ha solo funzionalità aggiuntive che prevedono l'uso del mouse. Ma non è questo contro la "filosofia di Vim"?

Qualcuno può spiegare quali funzionalità aggiuntive offre la versione Vim della GUI rispetto al Vim basato su terminale?


Gui vim consente oltre 256 colori, oltre ad altre formattazioni del testo, quindi potrebbe essere un pareggio. Personalmente non riesco a capire perché la gente preferisca Gui Vim, poiché trovo il terminale VIM più conveniente. Ma questa è la mia opinione.
EvergreenTree

Risposte:


27

Alcune funzioni che funzionano solo con gVim:

  • Supporto del colore a 24 bit pronto all'uso (per ottenere la stessa quantità di colori nel terminale VIM, devi provare un po 'di più, vedi questo e questo ). Per il vero corsivo, lo stesso vale (vedi questo e questo ). Nota che dovresti usare un font che supporti il ​​corsivo vero.
  • Alcune altre caratteristiche grafiche più avanzate, come "linee ondulate" per il controllo ortografico, forme del cursore più flessibili, ecc. Un terminale può fare solo "blocchi di caratteri a spaziatura fissa".
  • Abilita il supporto del mouse , se altrimenti lasciato da solo (incluso il trascinamento della selezione per i file). Terminal Vim può anche gestire il mouse abbastanza bene, ma non trascinarlo.
  • Offre un sistema di menu piacevole e personalizzabile , in cui ogni opzione ha il comando Vim corrispondente elencato.
  • gVim può offrirti barre di scorrimento che fanno scorrere il buffer Vim (e non lo scrollback del Terminale).
  • Puoi avere "palloncini" popup (alias "suggerimenti").
  • Ha il supporto per font integrato .
  • Alcune combinazioni di tasti funzionano immediatamente con gVim come CTRL+ Space, Meta+ e... mentre richiedono un ulteriore ritocco del terminale nell'altro caso.

In secondo luogo, anche se si preferisce usare Vim, l'installazione di una versione della GUI può offrire più funzionalità in fase di compilazione rispetto alla versione senza, almeno in alcune distro (come clipboarde clientserversupporto su sistemi basati su Debian in vim-noxvs vim-gnome).

Inoltre, in Windows, una finestra gVim può essere ridimensionata più facilmente di una finestra Vim della console.

Cose che gVim non fa:

  • gVim non è un emulatore di terminale (completo), quindi l'avvio di programmi esterni che utilizzano molte funzionalità di terminale non funzionerà molto bene. Per esempio provare a utilizzare :!vim, :!mutto :!irssida gVim, o premendo Ksu una parola (che, per impostazione predefinita, si apre la pagina di manuale per quella parola). Vedi anche questo .

1
Vim regolare è anche più conveniente se stai usando SSH molto, poiché può essere messo su tmux o screen e non richiede il supporto X11 su entrambe le estremità.
Kevin,

in realtà, gvim ha un terminale incluso da una delle successive patch 8.0. Quindi puoi avviare un terminale e dovresti essere in grado di eseguire programmi interattivi al suo interno.
Christian Brabandt,

1
I menu sono sicuramente più belli e più integrati in GUI vim, ma esistono e sono utilizzabili in vim console. Bisogna procurarsi menu.vime quindi probabilmente usare set wildmenue :emenu <Tab>navigare in un modo che ricorda ... beh, i menu.
brhfl,

@brhfl Direi invece "appena" utilizzabile.
muru

Wiki della community di @ChristianBrabandt! Vai avanti e modificalo. :)
muru

4

Posso solo parlare di gVim. Oltre alle differenze di base, ho scoperto che l'uso di gVim mi aiuta molto all'inizio ad apprendere i comandi di base (ad esempio un modo per copiare il testo selezionato negli Appunti con "+ y) leggendo ciascuna delle scorciatoie visualizzate nel menu. sembra sciocco, ma dovresti davvero passare un po 'di tempo a attraversare il menu e non solo fare clic su un elemento, ma per testare effettivamente il collegamento che mostra.


4

Alcuni di noi sono bloccati in Windows Land, quindi le opzioni del terminale sono meno convenienti.

In Esplora risorse puoi fare clic con il pulsante destro del mouse su un file e aprirlo immediatamente con gVim. È molto più semplice e veloce dell'apertura di un terminale (cygwin o altro), della navigazione nella directory e del vimming del file.

(Sul mio PC di lavoro, gVim e MinGW bash coprono la maggior parte delle mie esigenze di modifica)


Funziona anche per il mondo Linux. Se vuoi aprire un file in vim direttamente da nautilus, gvim è disponibile mentre vim non lo è.
kuldeep.kamboj,

@ kuldeep.kamboj Questa è semplicemente una questione di configurazione di Nautilis; è possibile utilizzare xterm -e vim %o alcuni di questi ...
Martin Tournoij

1
Questo è esattamente il motivo per cui ho gViminstallato. I caratteri del terminale di Windows ti fanno sanguinare gli occhi.
Shahbaz,

1

Per aggiungere una cosa banale: quando uso gvim, l'elenco delle finestre del mio desktop mostra un bel simbolo Vim piuttosto che un simbolo Xterm, il che rende più semplice passare all'editor se sono aperti molti xterm.


2
Puoi cambiare l'icona di una finestra con xseticon:-)
Martin Tournoij

1

Un punto cruciale per me che continua a farmi usare i versi di MacVim solo il terminale + vi è la velocità. Ho tutti i tipi di plug-in di Vim, suggerimenti per il linguaggio e controlli di sintassi che sorprendentemente bloccano il terminale fino in fondo, mentre il cestino compilato di MacVim gestisce tutto quello zucchero sintetico bene.


0

La modifica della forma del cursore in base alla modalità (ad es. Normale vs Inserisci) funziona molto bene con gVim. Questo dovrebbe funzionare quando si utilizza vim in un programma terminale come Konsole, ma non l'ho mai visto funzionare.


Non tendo ad usare emulatori di terminali particolarmente elaborati su Linux, ma posso confermare che funziona molto bene su mintty / cygwin e iTerm2 su Mac.
brhfl,
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.