Vim 如何为使用:registers命令打开的缓冲区创建自动命令
我正在尝试为发出Vim 如何为使用:registers命令打开的缓冲区创建自动命令,vim,neovim,Vim,Neovim,我正在尝试为发出:registers命令时打开的缓冲区创建一个自动命令(或通过任何可以映射以显示它的快捷方式或命令)。我想给一些线条涂上不同的颜色(但这不是问题所在)问题是我不知道如何检测此事件 我已经创建了这个代码段用于调试(打印到id为3的缓冲区,缓冲区名称和缓冲区id),基于我能想到的所有与缓冲区相关的事件,而对于寄存器缓冲区,它什么也不做 function EchoBuf() call appendbufline(3, 1, bufname()) call appendbufli
:registers
命令时打开的缓冲区创建一个自动命令(或通过任何可以映射以显示它的快捷方式或命令)。我想给一些线条涂上不同的颜色(但这不是问题所在)问题是我不知道如何检测此事件
我已经创建了这个代码段用于调试(打印到id为3的缓冲区,缓冲区名称和缓冲区id),基于我能想到的所有与缓冲区相关的事件,而对于寄存器缓冲区,它什么也不做
function EchoBuf()
call appendbufline(3, 1, bufname())
call appendbufline(3, 2, bufnr("%"))
endfunction
autocmd WinEnter,BufAdd,BufNew,BufRead,BufEnter * call EchoBuf()
:寄存器
不会打开缓冲区,它会打开不触发任何事件的:帮助页面
但是您可以借助于:help CmdlineLeave
和:help getcmdline()
:
至于在
:registers
中为行着色,最好是自己用数据填充缓冲区,并指定自己的语法?
function! DoSomethingWhenIWantToLookAtMyRegisters()
if getcmdline() =~ '^reg'
echomsg 'Here is the list of registers and their content'
endif
endfunction
augroup MyStuff
autocmd!
autocmd CmdlineLeave * call DoSomethingWhenIWantToLookAtMyRegisters()
augroup END