Je mets en place des boîtiers Linux virtualisés (en tant que serveurs de développement local) pour les développeurs d'une entreprise principalement basée sur Windows, et certains développeurs font des fissures négatives sur vim (entre autres). (Il leur semble représenter Linux / Unix d'une certaine manière, et prouver que l'environnement est difficile à utiliser.) Je me souviens quand j'ai été obligé pour la première fois d'utiliser vim, (les administrateurs système ont refusé d'installer emacs!) Et la difficulté initiale courbe d'apprentissage, donc je suis quelque peu sympathique. Il m'est venu à l'esprit que, plutôt que de les présenter nano
(qu'ils ne dépasseraient probablement jamais), il pourrait être possible de configurer des menus de type nano dans vim pour faciliter la transition. (J'ai trouvé un fichier .vimrc très convivial pour les donner, mais il n'a rien à voir avec les menus de style nano.)
Le seul problème est la seule chose que j'ai pu trouver qui prétend qu'il est possible de configurer des menus dans vim (pas gvim) ne fonctionnait pas, et mes tentatives pour corriger le problème me laissaient juste un autre problème à résoudre. Avant de perdre beaucoup de temps, j'aimerais savoir si c'est réellement possible, car il semble y avoir très peu d'informations sur la façon de le faire.
:h console-menus
.Réponses:
Oui c'est possible. Vous pouvez charger
menu.vim
(les définitions par défaut du menu gvim), ou vous pouvez tout simplement recommencer à zéro et créer les vôtres, puis y accéder:emenu
. Cela ne vous donne cependant pas de menus nano-toujours visibles; il vous donne la possibilité de naviguer dans les menus à l'aide de la complétion de l'onglet de ligne de commande.Si l'utilisateur n'a pas de vimrc, vous voudrez commencer par désactiver la compatibilité vi:
Activer l' achèvement intelligent de ligne de commande
<Tab>
(activer la liste de tous les choix possibles et naviguer dans les résultats avec<Up>
,<Down>
,<Left>
,<Right>
et<Enter>
):Faire des cycles de pressions répétées entre tous les choix correspondants:
Chargez les menus par défaut (cela se produirait automatiquement dans gvim, mais pas dans le terminal vim):
Après ces quatre commandes, vous pouvez déclencher manuellement l'achèvement du menu en appelant l'achèvement de l'onglet sur la
:emenu
commande, en faisant:emenu<space><tab>
Vous pouvez parcourir les résultats à l'aide de la touche de tabulation, des touches fléchées et de la touche Entrée (elle développe à la fois les sous-menus et sélectionne les éléments). Vous pouvez ensuite rendre cela plus pratique en allant plus loin et en liant un mappage pour faire apparaître le menu sans avoir à taper à
:emenu
chaque fois:Faites Ctrl-Z dans un acte de mappage comme en appuyant de manière
<Tab>
interactive sur la ligne de commande:Et créez une liaison qui invoque automatiquement l'
:emenu
achèvement pour vous:la source
J'ai moi-même eu le problème de ne pas me souvenir de toutes les commandes et combinaisons de touches pour les plugins que j'utilise. De plus, je voulais avoir des moyens simples d'exécuter rapidement des commandes sans avoir à définir de nouveaux mappages de touches ou à inventer des commandes pour y accéder.
Vim-Venu
J'ai écrit un petit plugin de menu vim qui vous permet de définir des menus pour chaque type de fichier que vous pourriez éditer avec vim. De cette façon, vous pouvez définir l'option de menu «Compiler» pour différents types de fichiers et lancer les instructions correctes pour compiler le code en fonction du fichier que vous modifiez (.py, .c, .c ++, ...). Ou créez un sous-menu pour les commandes du plugin 'Table' dans un fichier de démarque.
Découvrez-le ici: https://github.com/Timoses/vim-venu
En remarque: je pense que tout le monde devrait choisir son propre éditeur de texte préféré. Vim a une petite barrière (qui mérite d'être étudiée!). Si quelqu'un ne veut pas apprendre, alors vim ne sera pas d'une grande utilité pour cette personne.
la source