Estoy configurando cajas de Linux virtualizadas (como servidores de desarrollo local) para desarrolladores en una empresa que se basa principalmente en Windows, y algunos de los desarrolladores hacen grietas negativas sobre vim (entre otras cosas). (Les parece que representan Linux / Unix de alguna manera y demuestran que el entorno es difícil de usar). Recuerdo cuando me vi obligado a usar vim por primera vez (¡los administradores de sistemas se negaron a instalar emacs!) Y la difícil inicial curva de aprendizaje, así que soy algo comprensivo. Se me ocurrió que, en lugar de presentarles nano
(que probablemente nunca pasarían), sería posible configurar menús similares a nano en vim para facilitar la transición. (He encontrado un archivo .vimrc muy amigable para principiantes para darles, pero no tiene nada como menús de estilo nano).
El único problema es que lo único que he podido encontrar es que las afirmaciones de que es posible configurar menús en vim (no gvim) no funcionaron, y mis intentos de corregir el problema me dejaron con otro problema por resolver. Antes de perder mucho tiempo, me gustaría saber si de hecho es posible, ya que parece haber muy poca información sobre cómo hacerlo.
:h console-menus
.Respuestas:
Sí, es posible. Puede cargar
menu.vim
(las definiciones de menú de gvim predeterminadas), o simplemente puede comenzar desde cero y crear las suyas propias, y luego acceder a ellas a través:emenu
. Sin embargo, esto no le da menús nano-siempre visibles; le brinda la posibilidad de navegar por los menús mediante la finalización de la pestaña de la línea de comandos.Si el usuario no tiene un vimrc, querrá comenzar deshabilitando la compatibilidad con vi:
Habilitar la terminación de línea de comandos inteligente en
<Tab>
(habilitar una lista de todas las opciones posibles, y navegar por los resultados con<Up>
,<Down>
,<Left>
,<Right>
, y<Enter>
):Haga ciclos de prensas repetidas entre todas las opciones coincidentes
Cargue los menús predeterminados (esto sucedería automáticamente en gvim, pero no en terminal vim):
Después de esos cuatro comandos, puede activar manualmente la finalización del menú invocando la finalización de tabulación en el
:emenu
comando, haciendo:emenu<space><tab>
Puede navegar por los resultados con la tecla de tabulación y las teclas de flecha, y la tecla Intro (expande los submenús y selecciona los elementos). Luego puede hacer que sea más conveniente yendo un paso más allá y vinculando una asignación para abrir el menú sin tener que escribir
:emenu
cada vez:Haga que Ctrl-Z en un mapeo actúe como presionar
<Tab>
interactivamente en la línea de comando:Y haga un enlace que invoque automáticamente la
:emenu
finalización para usted:fuente
Yo mismo tuve el problema de que no puedo recordar todos los comandos y combinaciones de teclas para los complementos que estoy usando. Además, quería tener formas simples de ejecutar comandos rápidamente sin tener que establecer nuevas asignaciones de teclas o inventar comandos para acceder a ellas.
Vim-Venu
He escrito un pequeño complemento de menú de vim que le permite definir menús para cada tipo de archivo que puede editar con vim. De esta manera, puede definir la opción de menú 'Compilar' para diferentes tipos de archivos e iniciar las instrucciones correctas para compilar el código dependiendo del archivo que esté editando (.py, .c, .c ++, ...). O cree un submenú para los comandos del complemento 'Tabla' en un archivo de descuento.
Compruébalo aquí: https://github.com/Timoses/vim-venu
Como nota al margen: creo que todos deberían elegir su propio editor de texto favorito. Vim tiene una pequeña barrera (¡que vale la pena aprender!). Si alguien no está dispuesto a aprender, entonces vim no será de mucha utilidad para esa persona.
fuente