You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

(Neo)Vim录制宏时实时显示宏内容的实现方法

在Vim/NeoVim录制宏时实时显示内容

原生配置就能搞定

不用装插件,直接改配置文件就能实现需求:

Vimscript 版本(适用于Vim、用Vimscript配置的NeoVim)

把下面这段代码加到~/.vimrc(Vim)或~/.config/nvim/init.vim(NeoVim)里:

" 状态栏实时显示录制中的宏内容
set statusline+=%{reg_recording()?'['.reg_recording().':'.@'.']':''}

" 可选:给录制内容加高亮,更醒目
hi RecordingStatus guifg=white guibg=red ctermfg=white ctermbg=red
set statusline+=%{reg_recording()?'%#RecordingStatus#['.reg_recording().':'.@'.']%*':''}

保存后重启编辑器,再按q开始录制宏,状态栏就会实时显示当前使用的寄存器(比如a)和你按下的所有按键,像你例子里的iNowImRecording^[dip会完整展示出来。

Lua 版本(适用于用Lua配置的NeoVim)

如果你的NeoVim用Lua写配置,把这段代码加到~/.config/nvim/init.lua里:

-- 状态栏实时显示录制中的宏内容
vim.o.statusline = vim.o.statusline .. '%{reg_recording()?"["..reg_recording()..":"..@".".."]":""}'

-- 可选:添加高亮样式
vim.api.nvim_set_hl(0, 'RecordingStatus', { fg = 'white', bg = 'red' })
vim.o.statusline = vim.o.statusline .. '%{reg_recording()?"%#RecordingStatus#["..reg_recording()..":"..@".".."]%*":""}'

用插件更省心

要是嫌自己写配置麻烦,还想要额外功能(比如录制暂停、宏管理),可以用vim-recorder插件。安装完成后,它默认就会在状态栏实时显示录制的宏内容,还支持快速回放、编辑已录制的宏,上手门槛更低。


内容的提问来源于stack exchange,提问作者beyarkay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:10:27