Estou configurando caixas Linux virtualizadas (como servidores de desenvolvimento local) para desenvolvedores de uma empresa que é basicamente baseada no Windows, e alguns desenvolvedores fazem rachaduras negativas no vim (entre outras coisas). (Parece-lhes representar o Linux / Unix de alguma forma e provar que o ambiente é obtusamente difícil de usar.) Lembro-me de quando fui forçado a usar o vim (os administradores do sistema se recusaram a instalar o emacs!) E a difícil inicial curva de aprendizado, então sou um pouco solidária. Ocorreu-me que, em vez de apresentá-los nano
(os quais eles provavelmente nunca passariam), seria possível configurar menus semelhantes a nano no vim para facilitar a transição. (Encontrei um arquivo .vimrc muito amigável para iniciantes para fornecer a eles, mas não possui nada como menus no estilo nano.)
O único problema é a única coisa que pude descobrir que afirma que é possível configurar menus no vim (não no gvim) não funcionou, e minhas tentativas de corrigir o problema me deixaram com mais um problema a ser resolvido. Antes de perder muito tempo, gostaria de saber se é de fato possível, pois parece haver muito pouca informação sobre como fazê-lo.
:h console-menus
.Respostas:
Sim, é possível. Você pode carregar
menu.vim
(as definições padrão do menu gvim) ou pode começar do zero e criar o seu próprio, e depois acessá-las:emenu
. Porém, isso não fornece menus sempre visíveis como nano; permite navegar nos menus usando o preenchimento da guia da linha de comando.Se o usuário não tiver um vimrc, você começará desativando a compatibilidade do vi:
Permitir a conclusão da linha de comando inteligente sobre
<Tab>
(activar listando todas as opções possíveis, e navegando os resultados com<Up>
,<Down>
,<Left>
,<Right>
, e<Enter>
):Faça prensas repetidas alternando entre todas as opções correspondentes:
Carregue os menus padrão (isso aconteceria automaticamente no gvim, mas não no terminal vim):
Após esses quatro comandos, você pode disparar manualmente a conclusão do menu invocando a conclusão da guia no
:emenu
comando, executando:emenu<space><tab>
Você pode navegar pelos resultados usando a tecla Tab, as teclas de seta e a tecla Enter (que expande submenus e seleciona itens). Você pode tornar isso mais conveniente, dando um passo adiante e vinculando um mapeamento para abrir o menu sem precisar digitar
:emenu
todas as vezes:Faça o Ctrl-Z em um mapeamento agir como pressionar
<Tab>
interativamente na linha de comando:E faça uma ligação que invoque automaticamente a
:emenu
conclusão para você:fonte
Eu mesmo tive o problema de não me lembrar de todos os comandos e combinações de teclas dos plugins que estou usando. Além disso, eu queria ter maneiras simples de executar comandos rapidamente, sem precisar definir novos mapeamentos de teclas ou inventar comandos para acessá-los.
Vim-Venu
Eu escrevi um pequeno plugin de menu do vim que permite definir menus para cada tipo de arquivo que você pode editar com o vim. Dessa forma, você pode definir a opção de menu 'Compilar' para diferentes tipos de arquivos e iniciar as instruções corretas para compilar o código, dependendo do arquivo que você está editando (.py, .c, .c ++, ...). Ou crie um submenu para comandos de plug-in 'Tabela' em um arquivo de remarcação.
Confira aqui: https://github.com/Timoses/vim-venu
Como observação: acho que todos deveriam escolher seu próprio editor de texto favorito. O Vim tem uma pequena barreira (que vale a pena aprender!). Se alguém não estiver disposto a aprender, o vim não será muito útil para essa pessoa.
fonte