2009-07-14 7 views
0

Je n'ai jamais utilisé un clic de souris pour obtenir un menu survolant dans Vim. Le following manual suggère qu'un tel menu existe.Pour obtenir un menu pour un magnétiseur de code dans Vim par un clic de souris

Voici quelques lignes vimrc qui peuvent aider. Mettez-les dans votre vimrc - -, puis vous pouvez embellir au moins les lignes simples en utilisant un clic de souris.

nmenu Misc.Beautify.For :s/for\s*(\s*/for (/<CR>:s/\s*)\s*$/)/<CR>:s/\(\i\+\)\s*=\s*/\1 = /<CR>:s/\s*\([=<>!]=\\|[<>]\)\s*/ \1 /<CR>:s/\s*\(--\\|++\)/\1/<CR>:s/\s*;\s*/; /g<CR> 
nmenu Misc.Beautify.Func :s/\s*)/)/g<CR>:s/\s*\([(,]\)\s*/\1 /g<CR>:s/(\s\+)/()/g<CR> 
nmenu Misc.Beautify.If :s/if\s*(\s*/if (/<CR>:s/\s*)\s*$/)/<CR>:silent s/\s*\([=<>!]=\\|[<>]\)\s*/ \1 /<CR> 
nmenu Misc.Beautify.Assign :s/\s*\([-+*\/&\|]\?\)\s*=\s*/ \1= /g<CR> 

J'ai trouvé onlythe lignes suivantes sur nmenu dans vim docs. Ils ne sont pas vraiment utiles.

:nmenu Words.Add\ Var   wb"zye:menu! Words.<C-R>z <C-R>z<CR> 
    :nmenu Words.Remove\ Var  wb"zye:unmenu! Words.<C-R>z<CR> 

Il semble que mon Vim 7.2 n'a pas un tel menu planant. Le manuel suggère d'enlever le nmenu pour obtenir un code-embellisseur pour beaucoup de lignes. Cela me suggère que j'ai mal compris le bouton d'action pour le beautifier. Ce n'est apparemment pas un simple clic de souris.

Comment pouvez-vous utiliser l'embellisseur de code dans Vim?

Répondre

2

:h creating-menus: :menu crée de nouvelles entrées dans la barre de menus, qui n'existe que dans gVim.

Si vous ne voyez pas de barre de menu dans votre gVim, voir :h 'go': vous devrez peut-être :set guioptions+=m. La barre de menus se trouve au-dessus de la barre d'outils, le cas échéant, qui se trouve au-dessus de la zone d'édition.

 
:nmenu Misc.Beautify.For :s/for\s*(\s*/for (/:s/\s*)\s*$/)/:s/\(\i\+\)\s*=\s*/\1 = /:s/\s*\([=!]=\\|[]\)\s*/ \1 /:s/\s*\(--\\|++\)/\1/:s/\s*;\s*/; /g 
:nmenu Misc.Beautify.Func :s/\s*)/)/g:s/\s*\([(,]\)\s*/\1 /g:s/(\s\+)/()/g 
:nmenu Misc.Beautify.If :s/if\s*(\s*/if (/:s/\s*)\s*$/)/:silent s/\s*\([=!]=\\|[]\)\s*/ \1/
:nmenu Misc.Beautify.Assign :s/\s*\([-+*\/&\|]\?\)\s*=\s*/ \1= /g 

En dehors de gVim, cela ne fait rien. Dans gVim, tant que la barre de menu est activée, vous aurez un menu Misc avec un sous-menu Beautify. Pour plus de commodité, vous pouvez "déchirer" le menu (:set go+=t et cliquer sur le snipper en haut du menu) dans une barre de menu flottante, vous donnant un accès en un clic aux éléments du sous-menu.

+0

* Y a-t-il un moyen d'obtenir la fonctionnalité de Vim? * --- Je ne suis pas sûr que les mappages de touches soient possibles ici ou non. –

+0

Utilisez ': map' http://www.vim.org/htmldoc/map.html#:map pour configurer les mappages de touches – ephemient

+0

Je lance le mappage suivant sans succès' map 1 Misc ... 'Il colle le sed actuel -codes à mes codes d'édition. Le problème semble être que l'insertion de code à ':' -mode. ** Comment pouvez-vous coller le code à ':' -mode de telle sorte que le formatage arrive? ** –

Questions connexes