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