如何自定义 gvim 工具栏?

inn*_*naM 16 toolbar gvim

我想删除一些默认图标,并可能添加一两个我自己的图标。例如,如果有 NerdTree 和 Taglist 的图标就好了。

inn*_*naM 9

路德维希的回答让我开始了,但这并不是我所希望的那种答案。所以我提出了这个问题 community-wiki 并将这个答案留在了我发现的地方。随着我的进展,答案将得到改进。

找出工具栏当前的组成

:tmenu ToolBar
Run Code Online (Sandbox Code Playgroud)

这将为您提供当前在工具栏上的命令列表。它将列出每个条目的位置、名称和工具提示。

从默认工具栏中删除某些内容

您可以使用您.gvimrc从默认工具栏中删除条目。例如,要去掉 make 命令:

:aunmenu ToolBar.Make
Run Code Online (Sandbox Code Playgroud)

您需要指定菜单(“ToolBar”)和命令名称(“Make”)。

向工具栏添加新条目

要向工具栏添加新命令,请使用 tmenu 和 amenu 命令。例如,下面的命令会添加一个图标来切换 taglist 的显示(当然,你需要先安装taglist 插件):

:tmenu ToolBar.taglist Toggle display of the Taglist
:amenu ToolBar.taglist :TlistToggle<CR>
Run Code Online (Sandbox Code Playgroud)

同样,您需要指定菜单的名称(“ToolBar”)和新菜单项的名称(“taglist”)。新条目的名称也将用于搜索图标。您可以将图标放在 ~/.vim/bitmaps/ 目录中(如果尚不存在,只需创建它)。据说,您需要在 Windows 上使用 .bmp,在其他任何地方使用 .xpm。图标的大小需要为 18 x 18 像素。

tmenu负责悬停图标时显示的工具提示。使用amenu来决定点击图标时会发生什么。


Lud*_*erl 5

我发现本教程很有帮助。最有趣的部分引用如下:

:tmenu 1.190 ToolBar.b2u beta2unicode
:imenu ToolBar.b2u <Esc>:source ~/.vim/scripts/beta2unicode<CR>

在第一行中,1.190 表示工具栏上的一个位置。在 ToolBar.b2u 中,“b2u”是图像的名称(不带 bmp 扩展名)。第一行的最后一项是与工具栏上的图标(或按钮,如您要调用的那样)相关联的操作的简短描述。

在第二行中,ToolBar.b2u 遵循与第一行中相同的逻辑。最后一部分,

:source ~/.vim/scripts/beta2unicode.vim

从 Vim 模式到命令行模式的改变开始。该命令是“源”(解释和执行)脚本。这里的 VIMHOME 是 ~/.vim/。VIMHOME中的文件夹是scripts| \verb|beta2unicode.vim 是脚本的名称。相当于按下 Enter 键。

它基本上就像添加其他菜单一样工作。您可以在 vim 的帮助 ( :help menu) 中找到详细信息。