gpt4 book ai didi

vim - 使 Vim 映射安静

转载 作者:行者123 更新时间:2023-12-04 14:10:45 32 4
gpt4 key购买 nike

我有一个映射,用于在一行上打印突出显示。我从这里的其他海报那里得到了这个想法,非常感谢。这是我的做法:

function! PrintSyntaxItem()
let l:colorsyntax = synIDattr(synID(line("."), col("."), 0), "name")
execute "highlight" l:colorsyntax
endfunction

我把它映射成这样:

nnoremap <A-s> :call PrintSyntaxItem()<CR>

但是,当我执行它时,我得到回显的命令行以及我想要的输出,这导致出现“按 ENTER”提示。 IE。在我看到的输出中:

:execute "highlight" synIDattr(synID(line("."), col("."), 0), "name")
vimBracket xxx links to Delimiter
Press ENTER or type command to continue

我想删除 :execute 行,然后 Press ENTER 行也会消失。有什么办法吗?如果我将 silent 放在 execute 前面,我仍然会打印出该行,但会丢失 highlight 输出(以及 Press ENTER 提示), 但为了取回我想要的输出,我只是在它前面加上 unsilent 我明白了,但是......

基本上,我想要么抑制 :execute 行的回显,要么事后清除它,但我不确定该怎么做,并且拖网搜索文档以获取有关处理消息的信息没有结果子。

谢谢。

最佳答案

这不是您应该静音的命令,而是正如您在问题标题中所写的那样,映射本身:

nnoremap <silent> <A-s> :call PrintSyntaxItem()<CR>

也就是说,执行命令看起来不能轻易静音。我会调查的。

编辑

我已经尝试了所有我能找到的技巧,包括 :redir =>[<]silent[>] 的十几种组合但我无法获得想要的结果。要么我得到提示,要么什么也得不到。非常抱歉!

关于vim - 使 Vim 映射安静,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14466395/

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