我有一个映射,用于在一行上打印突出显示。我从这里的其他海报中得到了这个想法,所以谢谢你。这就是我所做的:
function! PrintSyntaxItem()
let l:colorsyntax = synIDattr(synID(line("."), col("."), 0), "name")
execute "highlight" l:colorsyntax
endfunction
我像这样映射它:
nnoremap <A-s> :call PrintSyntaxItem()<CR>
但是,当我执行它时,我会回显命令行以及我想要的输出,这会导致出现“Press ENTER”提示。即在我看到的输出中:
: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
线路的回声,要么在事后清除它,但我不知道该怎么做,并且拖网文档以获取有关处理消息的信息并没有取得任何成果。
谢谢。