微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从stdin读取时阻止vim加载会话

我最近一直在定制我的. vimrc并且喜欢mksession给我的力量和便利.我目前在.vimrc中有以下自动加载会话:

function! LoadSession()                                                              
  if argc() == 0 && ! &diff                                                                                                                                                                                                                
    let g:sessiondir = $HOME . "/.vim/sessions" . getcwd()                           
    let g:sessionfile = g:sessiondir . "/session.vim"                                
    if (filereadable(g:sessionfile))                                                 
      exe 'source ' g:sessionfile                                                    
    else                                                                             
      echo "No session loaded." + argc() + argv()                                    
    endif                                                                            
  else                                                                               
    let g:sessionfile = ""                                                           
    let g:sessiondir = ""                                                            
    call ResCur()                                                                    
  endif                                                                              
endfunction

然后我用au VimEnter *嵌套调用它:调用LoadSession().这适用于大多数情况,除非vim从stdin读取.在这种情况下,会话仍然被加载,但我想防止这种情况发生.我本以为argc()== 0条件就足够了,但看起来 – 从vdin读取的vim会导致argc()不返回0. Poop! ]

我已经尝试了各种各样的东西,从查看argv(0)(在这种情况下它是空的 – 为什么?),试图找到识别vim从stdin读取的方法(它显示了一条消息,它正在这样做,但我无法弄清楚如何进入那个)等,但到目前为止没有运气.

我确定我在这里遗漏了一些非常明显的东西,但谷歌和vim:帮助并没有把我带到任何地方,所以我希望这里有一些善良的灵魂可以为我揭示这一点.

解决方法

我正在使用的 session.vim plugin提供了扩展的会话处理.其中,它询问是否应该在Vim启动时恢复以前保存的会话.

但除非你需要插件的其他功能,否则使用映射触发恢复的解决方法也可能很好.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐