如何在 Vim 函数中获取':set modified?'的值



我是 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返回一个布尔值(好吧,技术上是一个整数01(,你不需要字符串比较它。

有关访问此类设置的更多信息,请参见《学习 Vimscript the Hard Way》的第 19 章。

我已经四处寻找有关此功能的一些帮助文件,但此后我找不到任何帮助文件

:h &

是关于正常模式命令的,并且

:h :&

是关于&命令的。

最新更新