76 lines
1.8 KiB
Lua
76 lines
1.8 KiB
Lua
vim.o.timeout = true
|
|
vim.o.timeoutlen = 500
|
|
|
|
-- buffer
|
|
require("which-key").register({
|
|
b = {
|
|
name = "buffer",
|
|
b = { "<cmd>Telescope buffers<cr>", "List buffers" },
|
|
d = { "<cmd>bd<cr>", "Delete buffer" },
|
|
},
|
|
}, { prefix = "<leader>" })
|
|
require("which-key").register({
|
|
["["] = {
|
|
b = { "<cmd>bprevious<cr>", "Previous buffer" },
|
|
},
|
|
["]"] = {
|
|
b = { "<cmd>bnext<cr>", "Next buffer" },
|
|
},
|
|
})
|
|
|
|
-- window
|
|
require("which-key").register({
|
|
w = {
|
|
name = "window",
|
|
["|"] = { "<C-w>v", "Split window horizontally" },
|
|
["-"] = { "<C-w>s", "Split window vertically" },
|
|
w = { "<C-w>w", "Switch window" },
|
|
d = { "<C-w>c", "Delete window" },
|
|
},
|
|
}, { prefix = "<leader>" })
|
|
|
|
-- tab
|
|
require("which-key").register({
|
|
["<tab>"] = {
|
|
name = "tab",
|
|
["<tab>"] = { "<cmd>tabnew<cr>", "New tab" },
|
|
n = { "<cmd>tabnext<cr>", "Next tab" },
|
|
p = { "<cmd>tabprevious<cr>", "Previous tab" },
|
|
d = { "<cmd>tabclose<cr>", "Close tab" },
|
|
},
|
|
}, { prefix = "<leader>" })
|
|
|
|
-- file
|
|
require("which-key").register({
|
|
f = {
|
|
name = "file/find",
|
|
n = { "<cmd>enew<cr>", "New file" },
|
|
},
|
|
}, { prefix = "<leader>" })
|
|
|
|
-- better descriptions for navigation
|
|
require("which-key").register({
|
|
["<leader>"] = {
|
|
f = { name = "file/find" },
|
|
g = { name = "git" },
|
|
l = { name = "lsp" },
|
|
o = { name = "org" },
|
|
s = { name = "search" },
|
|
t = { name = "toggle" },
|
|
x = { name = "diagnostics/quickfix" },
|
|
},
|
|
["["] = { name = "prev" },
|
|
["]"] = { name = "next" },
|
|
g = { name = "goto" },
|
|
})
|
|
|
|
-- Clear search with <esc>
|
|
require("which-key").register({
|
|
["<esc>"] = { "<cmd>noh<cr><esc>", "Escape and clear hlsearch", mode = { "n", "i" } },
|
|
})
|
|
|
|
-- better indenting
|
|
require("which-key").register({
|
|
["<"] = { "<gv", "Shift left" },
|
|
[">"] = { ">gv", "Shift right" },
|
|
}, { mode = "v" })
|