如何为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
相关产品推荐
相关产品推荐

