我是 Vim 脚本的新手,但我还没有在互联网上找到我问题的答案,也许这太容易了......
我想做一个脚本,如果修改了当前缓冲区,它会在拆分窗口中打开一个新缓冲区,否则它会在当前窗口中打开缓冲区。
我知道:set modified?
会告诉我当前缓冲区是否被修改,但我找不到在函数中调用它的方法。
我想要这样的东西:
function! SmartOpen()
if (:set modified? == 'modified')
" open in a new window
else
" open in the same window
endfunction
有可能做到吗?
可以使用与号来获取设置的值。这样做:
function! SmartOpen()
if &modified
" open in a new window
else
" open in the same window
endfunction
由于&modified
返回一个布尔值(好吧,技术上是一个整数0
或1
(,你不需要字符串比较它。
有关访问此类设置的更多信息,请参见《学习 Vimscript the Hard Way》的第 19 章。
我已经四处寻找有关此功能的一些帮助文件,但此后我找不到任何帮助文件
:h &
是关于正常模式命令的,并且
:h :&
是关于&
命令的。