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

强迫Vim的mksession使用相对路径?

我正在尝试使用打开文件的相对路径在Vim中保存我的会话.在sessionoptions中使用cur_dir,文件的路径将是相对wrt.当前目录,但会话文件包含cd / path / to / base / directory命令:

...
cd /path/to/base
badd +0 relpath1/file
badd +0 relpath2/file
...

如果我将curdir从sessionoptions中删除,cd命令将消失,但文件路径将是绝对路径

badd +0 /path/to/base/relpath1/file
badd +0 /path/to/base/relpath2/file

有没有办法只有相对路径wrt.什么是创建会话时的当前目录 – 没有插件或编写脚本?这样会话文件只有:

badd +0 relpath1/file
badd +0 relpath2/file

我的最终目标是拥有一个我可以复制的会话文件,例如从SVN结账到另一个.

解决方法

如果没有为它设置包装函数AFAIK,你就无法做到这一点.

例如.就像是:

function! MakeSession()
  let b:sessiondir = getcwd()
  let b:filename = b:sessiondir . '/session.vim'
  exe "mksession! " . b:filename
  exe "edit! " . b:filename
  exe "g:^cd :d"
  exe "x" 
endfunction

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

相关推荐