使用sessionman.vim插件恢复上次打开的Vim会话

4
在我的.vimrc文件中,我有以下的配置:
" Sessionman
set viminfo='100,<500,s10,h,!
autocmd VimEnter * SessionOpenLast
let sessionman_save_on_exit = 1

但是当我尝试运行以下命令来打开文件时

$ vim some_file.rb

以上命令仍然可以恢复上次打开的会话。

我想配置Vim,以便在这种调用情况下,它会打开some_file.rb文件。我该如何做到这一点?


可能是重复的问题:“在 .vimrc 中如何测试传递的文件名参数? - ib.
sessionman_save_on_exit 对我不起作用 :( - Pencilcheck
1个回答

4
根据提供的配置片段,最近打开的会话将无条件恢复。如果只有在没有文件作为命令行参数提供时才加载会话,请先检查参数数量(使用argc()函数):
:autocmd VimEnter * if argc() == 0 | SessionOpenLast | endif

我收到了错误信息: 处理“*”的VimEnter自动命令时发现错误: E488:尾随字符:SessionOpenLast | endif - Pencilcheck

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接