gpt4 book ai didi

vim - 如何清除 VIM 中函数调用的输出?

转载 作者:行者123 更新时间:2023-12-01 09:06:35 25 4
gpt4 key购买 nike

我知道我的问题标题不够解释,所以让我试着解释一下。

我创建了一个 vim function显示我当前的电池状态。我的功能如下:

function! BatteryStatus()

let l:status = system("~/battery_status.sh")
echo join(split(l:status))

endfunction

我已将上述函数映射为 nnoremap <F3> :call BatteryStatus()<cr> .现在,当我按下 F3它显示我的电池状态为 Discharging, 56%, 05:01:42 remaining这是我需要的输出,但我的问题是如何使上述输出消失。

目前发生的事情是在函数调用后它会持续显示输出,我必须手动使用 :echo清除命令窗口( : )。

因此,需要在我的函数中进行哪些必要的更改,以便我可以实现类似切换的行为。

Battery_status.sh
acpi | awk -F ": " '{print $2}'

PS:这是学习练习的一部分。所以,请不要建议替代 vim scripts .

最佳答案

切换输出的简单直接的方法:

let s:battery_status_output_flag = "show"

function! BatteryStatus()

if s:battery_status_output_flag == "show"
let l:status = system("~/battery_status.sh")
echo join(split(l:status))
let s:battery_status_output_flag = "clear"
else
echo ""
let s:battery_status_output_flag = "show"
endif

endfunction

备注 s:前缀,见 :help script-variable

关于vim - 如何清除 VIM 中函数调用的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205299/

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