有没有一种明确要求vim哔哔声的方法,最好不用运行外部命令?
原因是我经常运行需要很长时间的命令(比如:make
),所以我开始做其他事情,但是后来我需要被提醒任务已完成。所以没有错误会导致vim哔哔声,但我可以运行任意命令,所以我需要一些命令来使它哔哔声(虽然使用运行外部程序也可以实现,但我更喜欢更便携的方法)。
有没有一种明确要求vim哔哔声的方法,最好不用运行外部命令?
原因是我经常运行需要很长时间的命令(比如:make
),所以我开始做其他事情,但是后来我需要被提醒任务已完成。所以没有错误会导致vim哔哔声,但我可以运行任意命令,所以我需要一些命令来使它哔哔声(虽然使用运行外部程序也可以实现,但我更喜欢更便携的方法)。
是的:
:set novisualbell
:set errorbells
:exe "normal \<Esc>"
更多信息请参见:
打印Bell字符(Ctrl-G)。在Windows上,echo ^G
会发出蜂鸣声。根据您的终端设置,在Linux上也可以使用。
command -bar Bell call s:Bell()
function s:Bell()
const l:belloff = &g:belloff
const l:visualbell = &g:visualbell
try
set belloff-=esc
set novisualbell
execute "normal! \<Esc>"
finally
let &g:belloff = l:belloff
let &g:visualbell = l:visualbell
endtry
endfunction
:execute
是必要的,这样您就可以使用包含Esc
字符的字符串常量。:normal \<Esc>
将执行相当于按下6个按键\ < E s c >
的操作,这在正常模式下可能是错误的,具体取决于您的配置。:normal! \<esc>
将在当前版本的Vim中工作,而不考虑配置(因为忽略映射反斜杠本身什么也不做),但这是一种绕路的方式来完成任务。 - Rich:help 'errorbells'
的说明,"在正常模式下,无论何时按下<Esc>键,都会发出提示音。"因此,执行:set errorbells
命令没有任何效果。 - photon.engine