Appearance
快捷键映射(Mappings)
概览
用于映射快捷键的nvim按键名字对应关系:
<C>
-> Ctrl<leader>
-> Space,即空格<A>
-> alt<S>
-> shift- 默认的映射关系定义在
core.mappings
(`core/mappings.lua). - 当然,你也可以使用
NvCheatsheet
或者Telescope keymaps
来列出所有映射。
Mapping格式
为了能够在NvCheatsheet中列出所有自定义的快捷键,请确保使用下面的格式:
lua
-- opts 是可选参数
["keys"] = {"action", "description", opts = {}},
["<C-n>"] = {"<cmd> NvimTreeToggle <CR>", "Toggle nvimtree"},
["<leader>ff"] = {"<cmd> Telescope <CR>", "Telescope"},
-- opts 可以有以下属性: buffer, silent, noremap, nowait等。
-- 支持所有标准的案件绑定opts。
[";"] = { ":", "enter cmdline", opts = { nowait = true } },
-- 更多复杂的按键绑定
["<leader>tt"] = {
function()
require("base46").toggle_transparency()
end,
"toggle transparency",
},
添加新的绑定(mappings)
为了添加自定义的快捷键映射,请确保遵循NvChad的目录结构。
默认的快捷键绑定从
core.mappings
加载,建议您将自定义的快捷键映射保存在custom.mappings
文件中。请记住,映射 必须 声明vim模式:
n
(normal正常模式),v
(visual模式),i
(insert插入模式) 等。custom/chadrc.lua
lua
M.mappings = require "custom.mappings"
- custom/mappings.lua
lua
local M = {}
-- 禁用默认的快捷键绑定可以使用:
M.disabled = {
n = {
["<leader>h"] = "",
["<C-a>"] = ""
}
}
-- 自定义的快捷键绑定
M.abc = {
n = {
["<C-n>"] = {"<cmd> Telescope <CR>", "Telescope"}
["<C-s>"] = {":Telescope Files <CR>", "Telescope Files"}
}
i = {
["jk"] = { "<ESC>", "escape insert mode" , opts = { nowait = true }},
-- ...
}
}
return M
自定义的快捷键映射会自动加载,您不需要手动加载它们。
手动加载映射
即使不是必需的,但是您还是可以手动加载映射。
lua
M.some_plugin_name = {
plugin = true, -- 重要
n = {
["<C-n>"] = {"<cmd> Telescope <CR>", "Telescope"}
}
}
-- 现在来加载它
require("core.utils").load_mappings("someplugin")