gpt4 book ai didi

javascript - 仅当命令的输出不可用时才隐藏 liberator-bottombar。 (毒蛇)

转载 作者:行者123 更新时间:2023-11-28 17:10:49 25 4
gpt4 key购买 nike

我想做的是 this ,但是如果我正在执行某个命令,并且该命令有输出,我也希望能够看到该命令的输出,所以,这就是我所做的:

"javascript to hide statusbar
noremap <silent> <F8> :js toggle_bottombar()<CR>
noremap : :js toggle_bottombar('on', true)<CR>:
noremap b :js toggle_bottombar('on')<CR>b
noremap o :js toggle_bottombar('on')<CR>o
noremap O :js toggle_bottombar('on')<CR>O
noremap t :js toggle_bottombar('on')<CR>t
noremap T :js toggle_bottombar('on')<CR>T
noremap / :js toggle_bottombar('on')<CR>/
cnoremap <CR> <CR>:js toggle_bottombar('off')<CR>
cnoremap <Esc> <Esc>:js toggle_bottombar('off')<CR>

:js << EOF

var executing_command = false;

function toggle_bottombar(p, command) {
var bb = document.getElementById('liberator-bottombar');
if (!bb)
return;
if (p == 'on'){
executing_command = (command === true) ? true : false;
bb.style.height = '';
bb.style.overflow = '';
return;
}
if (p == 'off'){
if (!executing_command){
bb.style.height = '0px';
bb.style.overflow = 'hidden';
} else {
toggle_bottombar('on');
}
return;
}

bb.style.height = (bb.style.height == '') ? '0px' : '';
bb.style.overflow = (bb.style.height == '') ? '' : 'hidden';
}
toggle_bottombar();
EOF

半成功因为当我输入命令时它在我按下回车键后一直显示状态栏但输出丢失了,你有什么想法可以实现这一点吗?

我尝试使用 :help style 但这并没有太大帮助...那里的文档不够。

最佳答案

我终于达到了我想要达到的目的。通过这个小改动,您可以看到命令的输出并保留自动隐藏功能。

noremap <silent> <F8> :js toggle_bottombar()<CR>
noremap : :js toggle_bottombar('on')<CR>:
noremap b :js toggle_bottombar('on')<CR>b
noremap o :js toggle_bottombar('on')<CR>o
noremap O :js toggle_bottombar('on')<CR>O
noremap t :js toggle_bottombar('on')<CR>t
noremap T :js toggle_bottombar('on')<CR>T
noremap / :js toggle_bottombar('on')<CR>/
noremap <Esc> <Esc>:js toggle_bottombar('off')<CR>
cnoremap <CR> <CR>:js toggle_bottombar('off')<CR>
cnoremap ` <CR> g<

:js << EOF
function toggle_bottombar(p) {
var bb = document.getElementById('liberator-bottombar');
if (!bb)
return;
if (p == 'on'){
bb.style.height = '';
bb.style.overflow = '';
return;
}
if (p == 'off'){
bb.style.height = '0px';
bb.style.overflow = 'hidden';
return;
}

bb.style.height = (bb.style.height == '') ? '0px' : '';
bb.style.overflow = (bb.style.height == '') ? '' : 'hidden';
}
toggle_bottombar();
EOF

这个 vimperator 的文档引导我找到答案:liberator://help/message#more-prompt,如果您在 vimperator 的控制台中使用 liberator 组件,它几乎是不言自明的。

这样做的唯一缺点是,每当您想查看命令的输出时,您都需要使用“`”(tilda),但我想不出更好的方法。

注意:必须按<Esc>两次从命令的输出中完全隐藏bottombar,第一次隐藏命令行并显示bottombar,第二次它做了它想要的。我想这不是最干净的方法,但这不属于原始问题。

关于javascript - 仅当命令的输出不可用时才隐藏 liberator-bottombar。 (毒蛇),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29264225/

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