gpt4 book ai didi

function - Vim boolean 函数

转载 作者:行者123 更新时间:2023-12-04 18:50:24 26 4
gpt4 key购买 nike

我正在尝试在Vim中实现 boolean 函数,并且遇到了一些麻烦,并且我确定我缺少某些东西。

为了清楚起见,我正在寻求实现一个函数,当使用!调用该函数时,它的作用与此相反。

Vim有很多 boolean 函数,例如listpaste。就我而言,如果我说一个函数,则打开一个缓冲区,例如:

:call MyFunction()

然后我想用 !调用时关闭缓冲区:
:call MyFunction()!

不知道这是否有可能,我不希望找到如何打开或关闭缓冲区,而是真正的 boolean 实现。

编辑:

如果我们谈论用户定义的命令,这似乎是更可行的方法,例如:
:MyCommand action

也可以称为:
:MyCommand action!

最佳答案

在创建命令时,给它提供-bang选项,然后使用<bang>,它将扩展为爆炸或什么都不是。然后,要将其重定向到您的函数,请创建一个特殊参数并对其进行分析,以查看其是否包含爆炸。这样的事情:(包括ZyX建议的内容)

function! Bang(bang)
echo "With".((a:bang)?"":"out")." bang."
endfunction

command! -bang Bg call Bang(<bang>0)

当然,我没有在这里进行正确的测试来检查 a:bang是否真的很不错,但是您知道了。
:Bg
Without bang.
:Bg!
With bang.

关于function - Vim boolean 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6901275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com