Sto configurando scatole Linux virtualizzate (come server di sviluppo locale) per gli sviluppatori di un'azienda basata principalmente su Windows e alcuni sviluppatori fanno crepe negative su vim (tra le altre cose). (Sembra che rappresenti in qualche modo Linux/Unix e provi che l'ambiente è ottusamente difficile da usare.) Ricordo quando fui costretto a usare vim per la prima volta (gli amministratori di sistema si rifiutarono di installare emacs!) e la difficile iniziale curva di apprendimento, quindi sono un po' comprensivo. Mi è venuto in mente che, invece di introdurli a nano
(che probabilmente non avrebbero mai superato) potrebbe essere possibile impostare menu simili a nano in vim per rendere più semplice la transizione. (Ho trovato un file .vimrc molto adatto ai principianti da dargli, ma non ha niente come i menu in stile nano.)
L'unico problema è l'unica cosa che sono stato in grado di trovare che afferma che è possibile impostare i menu in vim (non in gvim) non ha funzionato e i miei tentativi di correggere il problema mi hanno lasciato con un altro problema da risolvere. Prima di perdere molto tempo vorrei sapere se è effettivamente possibile, dato che sembrano esserci pochissime informazioni su come farlo.
Risposta accettata:
Sì, è possibile. Puoi caricare menu.vim
(le definizioni predefinite del menu di gvim), oppure puoi semplicemente iniziare da zero e crearne di tue, quindi accedervi tramite :emenu
. Tuttavia, questo non ti dà menu sempre visibili simili a nano; ti dà la possibilità di navigare nei menu utilizzando il completamento della scheda della riga di comando.
Se l'utente non ha un vimrc, ti consigliamo di iniziare disabilitando la compatibilità vi:
:set nocompatible
Abilita il completamento intelligente della riga di comando su <Tab>
(abilita l'elenco di tutte le scelte possibili e la navigazione dei risultati con <Up>
, <Down>
, <Left>
, <Right>
e <Enter>
):
:set wildmenu
Esegui cicli di pressioni ripetute tra tutte le scelte corrispondenti:
:set wildmode=full
Carica i menu predefiniti (questo avverrebbe automaticamente in gvim, ma non in vim terminale):
:source $VIMRUNTIME/menu.vim
Dopo questi quattro comandi, puoi attivare manualmente il completamento del menu richiamando il completamento della scheda su :emenu
comando, eseguendo :emenu<space><tab>
È possibile navigare tra i risultati utilizzando il tasto Tab, i tasti freccia e il tasto Invio (espande i sottomenu e seleziona gli elementi). Puoi quindi renderlo più conveniente facendo un ulteriore passo avanti e associando una mappatura per far apparire il menu senza dover digitare :emenu
ogni volta:
Fai in modo che Ctrl-Z in una mappatura agisca come premendo <Tab>
interattivamente sulla riga di comando:
:set wildcharm=<C-Z>
E crea un'associazione che richiami automaticamente :emenu
completamento per te:
:map <F4> :emenu <C-Z>