在选项卡而不是窗口中使用VIM打开文件

时间:2013-11-25 07:05:18

标签: windows vim tabs

我搜索并发现了与此相关的线程,但情况并不完全相同。

我在Windows7中使用VIM。它被设置为文本文件的默认编辑器。 问题是,当我点击某个文本文件以打开它时,无论我是否已打开一个或多个VIM窗口,它都会在新的VIM窗口中打开。

如何更改此行为? 谢谢!


更新 这个程序解决了我的问题:http://defaultprogramseditor.com/

2 个答案:

答案 0 :(得分:0)

vim有一个“远程服务器”概念,它允许你在单个/某个vim实例中打开文件。

vim的手册页(帮助文档::h remote)有解释。简而言之:

vim --serverlist                      #list names of all found vim servers
vim --servername {name}               #current instance becomes as server named {name}
vim --servername {name} --remote file #open file in {name} vim-server

当缓冲区加载--remote-send或命令... --remote +{cmd} file

时,您仍然可以将密钥发送到远程vim

根据您的要求,您希望在vim服务器的标签页中打开文件,您可以:

vim --servername FOO --remote-tab yourfile

答案 1 :(得分:0)

您应该在Windows中手动设置文件关联,以使用自定义命令启动Vim。如果您是管理员并且不介意搞乱EVERYBODY的配置,则可以使用cmd.exe shell中的ftypeassoc命令。否则,您可以在HKEY_CURRENT_USER\Software\Classes

中手动创建注册表项

注册表方法实际上设置的结构与使用ftypeassoc自动设置的结构相同。首先,您必须在该Classes键下创建类似“sourcecode”的文件类型,shell\open\command键具有您要打开Vim的确切命令,使用%1代替要传入的文件名。然后创建一个关联键,如.c,其值为您创建的文件类型,在本例中为“sourcecode”。

有关文件关联的一些详细信息:http://vim.wikia.com/wiki/Windows_file_associations

专门用于设置“在标签中启动”行为,您需要--remote-tab-silent,如下所示:http://vim.wikia.com/wiki/Launch_files_in_new_tabs_under_Windows