最后更新于 .

呵呵,这里说的不是在终端中怎么用tabnew来打开一个新标签,而是说怎么在windows下,用gvim新打开的文件,会默认在gvim的标签页中打开。 这里主要有两种方法,其实原理是一样的(即gvim执行命令的参数是一样的),只是用windows的实现有些区别。

一.利用windows的发送到。

像emeditor之类的编辑器都会在安装之后默认在发送到里面添加自己的快捷方式,而vim是在右键菜单里面直接有一个用vim编辑,而为了不和这个默认的快捷方式冲突,我们就用这个发送到来实现我们想要的在标签页中打开新文件的功能。

1)开始->运行,输入sendto

2)在弹出的窗口中,单击右键,选择新建快捷方式。

3)在需要填入项目位置处(即gvim.exe的路径,以及执行参数),输入

"C:\Vim\vim72\gvim.exe" -p --remote-tab-silent "%*"

注意:需要在路径上加上引号,如默认的安装路径就是在C:\Program Files下,那么需要在路径上加上引号,即

"C:\Program FilesVim\vim72\gvim.exe" -p --remote-tab-silent "%*"

4)输入名字,Vim标签页

5)同时选中两个文件,然后右键查看发送到,点击Vim标签页,哈哈,OK啦~~ 这样的话,既不影响原来的功能,又能实现我们想要的功能啦

二.第二种方法其实就是写个脚本啦,实际上这个方法在linux下也是可行的,只不过是变成shell而已。

1)新建一个批处理文件,tab_vim.bat

2)在文件中写入:

@echo off start /B C:\Vim\vim72\gvim.exe -p --remote-tab-silent "%~f1" exit

3)然后在打开方式中选择这个文件就可以啦~~~,每次都选很麻烦?放心,只要选择过一次,对于对应扩展名的文件,我们的bat程序就会直接出现在打开方式列表里啦~

OK,就到这里啦~~

Pingbacks

Pingbacks已打开。

Trackbacks

引用地址

评论

  1. Forrest

    Forrest on #

    成功应用,谢谢讲解。

    Reply

    1. Dante

      Dante on #

      嘿嘿,不客气~

      Reply

  2. zach

    zach on #

    "C:\Program FilesVim\vim72\gvim.exe" -p --remote-tab-silent "%*"

    program files\vim 少了个\

    Reply

    1. Dante

      Dante on #

      呵呵,多谢指正,应该是博客自己把\转义了~~

      Reply

  3. colin

    colin on #

    用第二种方式搞定了
    thanks~

    Reply

  4. jie

    jie on #

    请问一下 如果有多个文件同时打开用键盘快捷键切换 怎么自定义快捷键啊 谢谢

    Reply

    1. Dante

      Dante on #

      有很多管理buff的插件,可以试一下FuzzyFinder,个人很喜欢这个,只能匹配buff的文件名,很不错。

      Reply

      1. jie

        jie on #

        有这么麻烦啊 只是想知道怎么实现标签页之间的快捷切换 不想用鼠标点击切换 是这个意思

        Reply

        1. Dante

          Dante on #

          哦,是我理解的问题:
          gt
          gT

          Reply

  5. xiao

    xiao on #

    感谢 :)

    Reply

  6. gm2wie

    gm2wie on #

    @echo off
    start /B "D:\Program Files\Vim\vim73\gvim.exe" -p --remote-tab-silent "%~f1"
    exit

    运行显示windows cannot find "-p",该怎么解决?

    Reply

    1. gm2wie

      gm2wie on #

      faint,换成短路径解决了:
      start /B D:\PROGRA~1\Vim\vim73\gvim.exe -p --remote-tab-silent "%~f1"

      Reply

  7. smart890

    smart890 on #

    在win7里面怎么不行的?sendto命令

    Reply

  8. aresli

    aresli on #

    mac下的shell脚本怎么写啊?

    我写成了vim-tabnew.sh

    @echo off
    start /B /Applications/Vim.app -p --remote-tab-silent "%~f1"
    exit

    并且也加了权限
    chmod +x ~/Documents/vim-tabnew.sh

    可还是显示:
    line 1: @echo: command not found
    line 2: start: command not found

    Reply

    1. Dante

      Dante on #

      呃,mac的脚本和linux的脚本一样~

      Reply

      1. aresli

        aresli on #

        。。。。完全不会

        Reply

  9. magicly007

    magicly007 on #

    其实有-p就够了吧,-remote-tab-silent貌似不需要~~

    Reply

  10. vfhky

    vfhky on #

    使用第二种方法很好。

    Reply

  11. atomgo

    atomgo on #

    希望右击文件,选择在当前以编辑页面中垂直分屏打开。。。还有把另一个标签的文件在当前页面中分屏打开,,,当然,键入绝对路径是可以,不知道有没有更简洁的步骤,或者借助插件快速获取文件路径?Vim无限想象,无限可能。。。

    Reply

发表评论