我的使用场景可能看起来有点不寻常,但这里是:当使用vim(它是我经常使用的4种不同编辑器之一)时,我在两种不同的情况下使用它.第一个是通过GUI,我将有多个缓冲区,并且有一些设置不同于我从命令行使用它时(通过测试" if has('gui_running')
").另一种是当我需要从命令行做一些简短快速的操作时,例如对点文件或其他类型的配置进行小的更改.
我会喜欢做的,就是对的GUI启动会话,但有任何命令行调用忽略它们.也就是说,我不想在CL调用上调出完整的现有会话,也不希望它(以及它涉及的任何缓冲区/文件)改变GUI正在使用的会话.因为我对vim的后vi功能还不熟悉,所以我不确定如何解决这个问题.
在你.gvimrc
和你的其他一切中做你的会话魔术.vimrc
.GUI将同时发送,但CL版本将只发送.vimrc
.
会话魔术是设置自动命令以在退出时将会话写入文件,并在进入时通过获取文件来重新加载它.
au VimLeave * mksession ~/.gvimsession au VimEnter * source ~/.gvimsession