Migliore interfaccia grafica per vim?


15

Mi piace usare Vim, le sue infinite funzionalità e il modo in cui fa le cose (per la maggior parte). L'ho usato e spento (non come il mio editore principale) da almeno 7 anni, quindi mentre sono ben lungi dall'essere un esperto, in genere conosco il mio modo di aggirarlo.

Ora, mentre lo adoro nella riga di comando, mi piacerebbe davvero che fosse il mio editor principale nelle GUI di Windows e Linux. Ma ... gvim ... è orribile . In Windows infrange così tante "regole" di usabilità che non vale nemmeno la pena di combatterle. Nemmeno Cream , con i suoi cambiamenti e la sua fantasia .vimrc, salva la giornata.

Quindi, la mia domanda è: esiste una moderna GUI vim per Windows e Linux che la fa apparire e comportarsi come la maggior parte degli editor di GUI? Avere Sublime Text, Kate, TextMate o la GUI di Editra con le funzionalità di VIM sarebbe incredibile. Mi rendo conto che tutti e quattro (così come molti altri editor) hanno plugin che in qualche modo li fanno comportare come vim, ma non è affatto vicino (almeno per Editra e Sublime Text, non sono sicuro per gli altri) il vero vim.

Essendo open source, non sono davvero sicuro del perché non ci sia ancora stata una revisione completa della GUI. Le persone non usano gvim?


15
Personalmente, utilizzo gVim su Windows proprio perché si comporta allo stesso modo della console / terminale vimsu Unix.
user1686

1
Sarebbe utile conoscere alcuni dettagli delle regole di usabilità con cui trovi gVim particolarmente in errore.
RedGrittyBrick

2
OK, eccone uno: selezionando del testo in modalità visiva e lo scorrimento modifica effettivamente la selezione. Capisco che ciò accada perché il cursore deve sempre rimanere visibile e aiuta a usare il comando 'o' mentre è in modalità visiva, ma questo è così contro-intuitivo rispetto alle app GUI standard. Vedo che molte persone usano gVim solo perché si comporta come Vim, ma allora perché non usare la console Vim? Configurare un ambiente Linux in Windows e / o usare un buon terminale come mintty è molto facile da fare.
imiric,

2
Invece di "configurare un ambiente Linux in Windows", perché non usare semplicemente gVim? Nessuna installazione necessaria.
user1686

Ecco un'altra discussione interessante
sull'avere

Risposte:


12

vim è progettato per usare la tastiera in modo efficiente, non per usare il mouse. quindi, trovo un po 'imbarazzante la tua lamentela riguardo una cattiva "gui". se non ti piace vim o se non vuoi imparare come vengono fatte le cose in vim, va bene. ma poi devi usare un altro editor perché vim non soddisfa i tuoi requisiti.

quindi, dubito che ci sarà una versione gui di vim che corrisponda alle tue aspettative su come dovrebbe apparire un editor decente "grafico" o come dovrebbe comportarsi.


3
o impari il 100% di vim e finisci il problema con l'editor fino alla fine dei tempi :)
Akira,

3
Ci sono / ci sono / ragioni per usare gVim invece di Vim in una sola console. Due esempi: 1) Esistono meta combinazioni che Vim non può vedere se non nella GUI, a causa delle limitazioni degli emulatori e delle librerie di gestione dei terminali. 2) Supporto colore significativamente più ampio. A parte questo, penso che sia estremamente ingiusto aspettarsi che Vim si comporti improvvisamente come ogni altra applicazione GUI solo perché capita di avere una GUI. Vim probabilmente dovrà sempre violare le "regole" di usabilità, altrimenti non sarebbe più Vim. Se non è quello che vuoi, devo ribadire gli altri: trova un editor diverso.
Heptite,

5
@imric: Quando dico che "non sarebbe più Vim", in realtà intendo che non può più essere Vim e "conforme" in modalità GUI. Vim è un clone vi migliorato e vi esisteva letteralmente prima dell'esistenza delle GUI. Ha un'interfaccia utente molto particolare, e sì, che fa contrasto con le linee guida di usabilità della GUI attuali. Per ottenere (tutto) quello che vuoi, stai chiedendo un editor che davvero, veramente, non si comporti nel modo in cui vi / Vim è destinato a funzionare. Una regola che Bram Moolenar (il creatore e proprietario del copyright di Vim) ha per Vim è, per quanto possibile, console e GUI Vim dovrebbero comportarsi in modo simile.
Heptite,

3
@imric: perché vuoi usare vim se non per la sua interfaccia "arrogante e ingiusta"? Voglio dire, è vim .. lo usi perché fa il lavoro come fa, lo stesso per emacs. come ho già detto: se lo strumento è in conflitto con ciò che si desidera: utilizzare uno strumento diverso.
Akira,

2
Personalmente, il mio GVim è impostato per assomigliare esattamente al mio Vim, quindi non ho menu, barre di scorrimento, stessi caratteri / colori ... L'unico motivo per cui a volte utilizzo GVim invece di Vim è quando sto usando il mouse e la ruota per sfogliare alcuni file (ad esempio quando sto bevendo un caffè o della birra). Non succede molto, ma comunque, a volte. Non riesco a immaginare perché uno vorrebbe un Vim che non si comporta come Vim. Meglio usare un altro editor che è stato progettato pensando alla GUI.
Cedbeu,

7

Sono d'accordo con le risposte e i commenti di Akira.

L'unica GUI adatta alle convenzioni per Vim è MacVim che, ovviamente, è un'applicazione solo per Mac.

Non sono sicuro che sia "il migliore dei due mondi", ma l'ultima beta di Sublime Text 2 ha una modalità "vintage" molto impressionante che copre molte utili funzionalità di Vim (movimenti, oggetti di testo) e mappa altre cose ( /o ?per esempio) alle sue caratteristiche native. Trovo il suo design generale un po 'irritante, quindi non mi vedo passare ad esso in qualsiasi momento presto, ma, di nuovo, la modalità vintage è impressionante.


1
Bene, MacVim sembra avere una GUI Vim molto migliore. Ma da quello che ho capito ha richiesto un bel po 'di lavoro per renderlo perfetto in OS X, e gVim è una mostruosità vecchia di decenni che praticamente non riceve aggiornamenti. Ho provato la modalità Vim di Sublime Text, e mentre implementa molti dei movimenti e inserisce comandi, non è ancora all'altezza.
imiric,

Su MacOS X, le interfacce utente valide e coerenti sono di fondamentale importanza mentre a nessuno importa di ciò su Linux e Windows. Ecco perché è importante per le persone dietro MacVim e hanno affrontato il duro lavoro richiesto. Ma il compito probabilmente non è stato così complicato a causa delle linee guida / tradizioni / usi stabiliti e di come questi vengono applicati attraverso gli strumenti di sviluppo ufficiali. Su questo desktop Linux, le mie applicazioni hanno almeno 2 modi per assegnare un nome al menu principale ( "File" o una parola correlata alla funzione dell'app) e almeno 4 tasti di scelta rapida per "Quit" / "Chiudi finestra" ( <C-q>, <S-C-q>, <C-w>, :q...) . Lo so ...
Romainl,

... in prima persona è sostanzialmente lo stesso su Windows. Penso che sia difficile trovare un'esperienza lucida e ben integrata in un ambiente così disordinato senza alcun tipo di incentivo monetario o leadership autoritaria. OK, scusa per il rant, torna al programma normale.
Romainl,

2

È possibile ottenere un plug-in per un IDE che gli fornisce le combinazioni di tasti VIM. PER ESEMPIO

Ecco un IDE Web molto interessante per gli sviluppatori Web, include git, che ha la modalità di associazione dei tasti VIM integrata:

Altrimenti, faccio il mio sviluppo su un Mac e sono un grande fan di MacVim, e sono d'accordo sul fatto che gVim è super brutto su * nix, e rabbrividisco ogni volta che devo eseguire VIM in una shell SSH sul server.

Per quanto riguarda VIM come editor che non sono un IDE separato, un'altra app GUI (solo mac, scusate) è:


Grazie per i tuoi suggerimenti, ma ho deciso di attenermi alla console di Vim per tutte le mie esigenze di sviluppo, invece di lottare con gVim. Ho già la mia shell aperta tutto il tempo, ho solo un'altra finestra di tmux che esegue Vim e rende il passaggio dall'editor alla shell e viceversa molto veloce e conveniente. Inoltre, nessuna regola di usabilità viene infranta nella console. :-) Sto pensando di passare presto al Mac e proverò MacVim.
imiric,

2

Puoi usare VisualStudio Code e ha diversi plugin che aggiungono molte funzionalità di Vim insieme a molte chicche. È un ottimo editor, inoltre è aperto e gratuito e ha gusti Windows, MacOs e Linux.


1
Se sei un fan di Vim hard-core, probabilmente non troverai soddisfacente nessuno dei plug-in VS Code Vim.

1

Se usi la tecnologia di accesso come uno screen reader e desideri il potere di VIM, puoi provare il mio progetto: https://code.google.com/p/phonim/ utilizza lo scripting JAWS e l'interfaccia OLE gVim. Sebbene fattibile, lascia molto a desiderare, ma vale la pena anche questo accesso limitato al potere di VIM.

Per migliorare la situazione di gVim, tutto ciò che serve è che qualcuno con il giusto sapere come dotare il back-end di Vim di un moderno front-end dell'interfaccia utente con un componente dell'editor che abbia UIAutomation e il supporto MSAA adeguati.


Nessun problema, ho modificato. Sì, un po 'rant, ma vedi, adoro Vim e vorrei davvero che ne beneficiassero più persone :-).
Kerneels Roos,

1

Vim è destinato all'uso senza interfaccia grafica. Ma se sei preoccupato per la barra dei menu e la barra degli strumenti in gvim che sembra fuori posto. Puoi disabilitarlo basta inserire

"Remove Menubar and Toolbar
set guioptions -=m 
set guioptions -=T

nel tuo VIMRC allora sarà sparito. sul bonus se stai usando finestre inferiori a 10 il tuo gvim si ridimensiona meglio (rispetto al cmd predefinito di windows) e ha un migliore supporto per la combinazione di colori e sembra buono.


1

Forse qualcosa come Oni è quello che stai cercando. Non l'ho usato personalmente, ma è basato su Neovim , quindi non dovresti avere un set di funzionalità mezzo cotto.

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.