代码之家  ›  专栏  ›  技术社区  ›  rjray

只在GUI中使用VIM会话?

vim
  •  1
  • rjray  · 技术社区  · 16 年前

    我的使用场景可能有点不寻常,但这里是:当使用VIM(它是我经常使用的4个不同编辑器之一)时,我在两种不同的情况下使用它。第一种方法是通过GUI,在GUI中,我将有多个缓冲区,并且与从命令行(通过测试)使用它时有一些不同的设置。 if has('gui_running') “”。另一种是当我需要从命令行快速地做一些事情时,比如对点文件或其他类型的配置做一个小的更改。

    我想要什么 喜欢 要做的是,为GUI启用会话,但是让任何命令行调用忽略它们。也就是说,我不想在调用cl时调出完整的现有会话,也不希望它(以及它涉及的任何缓冲区/文件)更改GUI正在使用的会话。因为我对Vim的后vi功能还比较陌生,所以我不确定如何实现这一点。

    2 回复  |  直到 14 年前
        1
  •  5
  •   community wiki 2 revs rampion    16 年前

    做你的会议魔术在你的 .gvimrc 还有你的一切 .vimrc . 图形用户界面将同时提供这两种资源,但是cl版本将只提供 VIMRC .

    会话的魔力在于设置自动命令,在退出时将会话写入文件,并通过在进入时获取文件来重新加载会话。

    au VimLeave * mksession ~/.gvimsession
    au VimEnter * source ~/.gvimsession
    
        2
  •  2
  •   connermcd    14 年前

    您可能需要添加一个!到mksession,这样每次退出时都不会收到覆盖错误消息。

    au VimLeave * mksession! ~/.gvimsession
    au VimEnter * source ~/.gvimsession