Eric's Blog 时光荏苒,岁月如梭

Neovim 录制按键及屏幕

2025-04-12
Eric Wong

以前偶尔也会录制一些动图,使用的是 LICEcap,这也是一个开源项目,但是不能录制成视频。 在网上搜到不少的录视频的软件,比较火热的是班迪录屏,但是我还是倾向于免费开源方案。

开源实现

Neovim 增加了一个 vim.on_key,这个函数在按键按下后会触发。借助这个函数及 Neovim 的悬浮窗口, 实现了一个按键弹窗提示的效果插件 record-key.nvim

record-screen.nvim 是一个 Neovim 屏幕录制的插件, 借助 ffmpeg 这个命令和 Neovim 的异步机制。

安装配置

使用 nvim-plug 插件管理器:

require('plug').add({
  {
    'wsdjeg/record-key.nvim',
    cmds = { 'RecordKeyToggle' },
    config_before = function()
      vim.keymap.set(
        'n',
        '<leader>rk',
        '<cmd>RecordKeyToggle<cr>',
        { silent = true }
      )
    end,
  },
  {
    'wsdjeg/record-screen.nvim',
    depends = {
      { 'wsdjeg/job.nvim' },
      { 'wsdjeg/notify.nvim' },
    },
    config = function()
      vim.keymap.set(
        'n',
        '<F8>',
        '<cmd>lua require("record-screen").start()<cr>',
        { silent = true }
      )
      vim.keymap.set(
        'n',
        '<F9>',
        '<cmd>lua require("record-screen").stop()<cr>',
        { silent = true }
      )
    end,
  },
})

版权声明:本文为原创文章,遵循 署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)版权协议,转载请附上原文出处链接和本声明。


延生阅读

分享到:

评论

目前只支持使用邮件参与评论。