GNU/Linux >> Linux Esercitazione >  >> Linux

È possibile creare e utilizzare menu in Vim (basato su terminale)?

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:

Correlati:trova la seconda occorrenza della stringa dalla fine del file?

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>

Linux
  1. Come creare e utilizzare i sottodomini

  2. Come utilizzare GParted per creare e ridimensionare facilmente le partizioni

  3. Come creare un alias e utilizzare il comando alias in Linux

  4. Come installare e utilizzare Vim-plugin Manager in Linux

  5. Possibile utilizzare un .dll su Linux

Come usare e sfruttare al meglio il comando fusore in Linux

Come utilizzare i marcatori ed eseguire la selezione del testo in Vim

Come creare un'Amazon Machine Image (AMI) e utilizzarla su AWS

Come creare e utilizzare file di scambio su Linux

Schemi di colori in Vim:come cambiarli e usarli

Bash Scripting Part6 – Crea e usa le funzioni Bash