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

如何为Neovim创建快捷键,一键切换行号Gutter的显示与隐藏?

Neovim 配置切换快捷键设置方案

方法一:使用 Lua 配置(推荐)

在你的 init.lua 中添加以下代码:

-- 定义切换函数
local function toggle_number_signcolumn()
  -- 切换行号相关设置
  local relativenumber = vim.opt.relativenumber:get()
  vim.opt.relativenumber = not relativenumber
  vim.opt.number = not relativenumber -- 相对行号关闭时显示绝对行号,反之亦然

  -- 切换符号列设置
  local signcolumn = vim.opt.signcolumn:get()
  vim.opt.signcolumn = signcolumn == "yes" and "no" or "yes"
end

-- 绑定快捷键,这里用<leader>n作为触发键,可根据习惯修改
vim.keymap.set('n', '<leader>n', toggle_number_signcolumn, { desc = "Toggle line numbers and sign column" })

方法二:使用 Vimscript 配置

如果你习惯用 Vimscript,在 init.vim 中添加:

" 定义切换函数
function! ToggleNumberSignColumn()
  " 切换行号
  if &relativenumber
    set norelativenumber nonumber
  else
    set relativenumber number
  endif

  " 切换符号列
  if &signcolumn == "yes"
    set signcolumn=no
  else
    set signcolumn=yes
  endif
endfunction

" 绑定快捷键,同样用<leader>n
nnoremap <leader>n :call ToggleNumberSignColumn()<CR>

说明

  • <leader> 默认是反斜杠 \,你可以通过 let mapleader = ","(Vimscript)或 vim.g.mapleader = ","(Lua)修改为逗号等更顺手的键。
  • 绑定的快捷键可以根据自己的习惯调整,比如改成 <F5> 之类的功能键。
  • 保存配置文件后,重启 Neovim 或执行 :source % 就能生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:50:40