题
我正在尝试获取 Edit with Vim
上下文菜单可在先前打开的 Gvim 实例(如果有)的新选项卡中打开文件。
目前,使用 Regedit
我修改了这个键:
\HKEY-LOCAL-MACHINE\SOFTWARE\Vim\Gvim\path = "C:\Programs\Vim\vim72\gvim.exe" -p --remote-tab-silent "%*"
注册表项类型是 REG_SZ
.
这几乎有效...目前,它在新选项卡中打开文件,但它还会打开另一个选项卡(这是活动选项卡),该选项卡被标记为 \W\S\--literal
该文件似乎正在尝试打开以下文件。
C:\Windows\System32\--literal
我认为问题出在 "%*"
- 我尝试将其更改为 "%1"
但如果我这样做,我会得到一个额外的选项卡,称为 %1
.
受影响版本
- Vim 版本 7.2(7.1 上的行为相同)
- Windows Vista 家庭高级版
谢谢你的帮助。
大卫。
解决方案
尝试将其设置为:"C:\Programs\Vim \vim72\gvim.exe" -p --remote-tab-silent "%1" "%*"
看: http://www.vim.org/tips/tip.php?tip_id=1314
编辑:正如 Thomas 所指出的,vim.org 提示已移至: http://vim.wikia.com/
看: http://vim.wikia.com/wiki/Add_open-in-tabs_context_menu_for_Windows
其他提示
你走在正确的轨道上:
HKEY-LOCAL-MACHINE\SOFTWARE\Vim\Gvim\path = "C:\Programs\Vim \vim72\gvim.exe" -p
就足够了...有用!!
我找到了答案...奶油的链接给了我一些额外的区域来搜索。
从 http://genotrance.wordpress.com/2008/02/04/my-vim-customization/ 有一个 vim.reg 注册表文件,其中包含以下内容
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Edit with Vim]
@=""
[HKEY_CLASSES_ROOT\*\shell\Edit with Vim\command]
@="\"C:\\Programs\\vim\\vim72\\gvim.exe\" -p --remote-tab-silent \"%1\" \"%*\""
[HKEY_CLASSES_ROOT\Applications\gvim.exe\shell\open\command]
@="\"C:\\Programs\\vim\\vim72\\gvim.exe\" -p --remote-tab-silent \"%1\" \"%*\""
这给了我我想要的行为。
所以我想我最初编辑 HKEY_LOCAL_MACHINE 的计划是错误的。
也很高兴知道“%1”和“%*”到底是什么意思/指的是什么。
现在...我应该编辑我原来的问题,以表明我是从错误的注册表区域开始的吗?
有一个更干净的修复使用你的 _vimrc
. 。添加以下行:
autocmd BufReadPost * tab ball
从 http://www.vim.org/scripts/script.php?script_id=1720