aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim/nvim/lua/mappings.lua
diff options
context:
space:
mode:
Diffstat (limited to 'vim/nvim/lua/mappings.lua')
-rw-r--r--vim/nvim/lua/mappings.lua170
1 files changed, 0 insertions, 170 deletions
diff --git a/vim/nvim/lua/mappings.lua b/vim/nvim/lua/mappings.lua
deleted file mode 100644
index f6ef8c4..0000000
--- a/vim/nvim/lua/mappings.lua
+++ /dev/null
@@ -1,170 +0,0 @@
1-- require "nvchad.mappings"
2
3-- add yours here
4
5local map = vim.keymap.set
6
7map("i", "jk", "<ESC>")
8vim.cmd("command! W execute 'SudaWrite %'")
9
10-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
11
12map("n", "<Esc>", "<cmd>noh<CR>", { desc = "general clear highlights" })
13
14-- map("n", "<C-c>", "<cmd>%y+<CR>", { desc = "file copy whole" })
15
16-- map("n", "<leader>n", "<cmd>set nu!<CR>", { desc = "toggle line number" })
17-- map("n", "<leader>rn", "<cmd>set rnu!<CR>", { desc = "toggle relative number" })
18map("n", "<leader>ch", "<cmd>NvCheatsheet<CR>", { desc = "toggle nvcheatsheet" })
19
20map("n", "<leader>F", function()
21 require("conform").format { lsp_fallback = true }
22end, { desc = "format files" })
23
24-- global lsp mappings
25map("n", "<leader>ds", vim.diagnostic.setloclist, { desc = "lsp diagnostic loclist" })
26
27-- tabufline
28map("n", "<tab>", function()
29 require("nvchad.tabufline").next()
30end, { desc = "buffer goto next" })
31
32map("n", "<S-tab>", function()
33 require("nvchad.tabufline").prev()
34end, { desc = "buffer goto prev" })
35
36map("n", "<leader>x", function()
37 require("nvchad.tabufline").close_buffer()
38end, { desc = "buffer close" })
39
40-- Comment
41map("n", "<leader>/", "gcc", { desc = "comment toggle", remap = true })
42map("v", "<leader>/", "gc", { desc = "comment toggle", remap = true })
43
44-- nvimtree
45map("n", "<C-n>", "<cmd>NvimTreeToggle<CR>", { desc = "nvimtree toggle window" })
46map("n", "<leader>nf", "<cmd>NvimTreeFocus<CR>", { desc = "nvimtree focus window" })
47
48-- telescope
49map("n", "<leader>f", "<cmd>Telescope oldfiles<CR>", { desc = "telescope find oldfiles" })
50map("n", "<leader>b", "<cmd>Telescope buffers<CR>", { desc = "telescope find buffers" })
51map("n", "<leader>/", "<cmd>Telescope current_buffer_fuzzy_find<CR>", { desc = "telescope find in current buffer" })
52map("n", "<leader>sf", "<cmd>Telescope find_files<cr>", { desc = "telescope find files" })
53map("n", "<leader>sF", "<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>",
54 { desc = "telescope find all files" })
55map("n", "<leader>sg", "<cmd>Telescope live_grep<CR>", { desc = "telescope live grep" })
56
57map("n", "<leader>gf", "<cmd>Telescope git_files<CR>", { desc = "telescope git files" })
58map("n", "<leader>sH", "<cmd>Telescope help_tags<CR>", { desc = "telescope help page" })
59map("n", "<leader>tt", ":Telescope ", { desc = "telescope help page" })
60map('n', '<leader>sk', "<cmd>Telescope keymaps<CR>", { desc = 'telescope keymaps' })
61map("n", "<leader>pt", "<cmd>Telescope terms<CR>", { desc = "telescope pick hidden term" })
62
63vim.keymap.set('n', '<leader>ss', function()
64 local current_filetype = vim.bo.filetype
65 local cwd = os.getenv("HOME") .. '/snippets/' .. current_filetype
66 require('telescope.builtin').find_files {
67 prompt_title = 'Select a snippet for ' .. current_filetype,
68 cwd = cwd,
69 attach_mappings = function(prompt_bufnr, map)
70 local insert_selected_snippet = function()
71 local file = require('telescope.actions.state').get_selected_entry()[1]
72 local snippet_content = vim.fn.readfile(cwd .. "/" .. file)
73 require('telescope.actions').close(prompt_bufnr)
74 vim.api.nvim_put(snippet_content, '', false, true)
75 end
76
77 map('i', '<CR>', insert_selected_snippet)
78 map('n', '<CR>', insert_selected_snippet)
79
80 return true
81 end,
82 }
83end, { desc = '[S]earch [S]nippets' })
84
85vim.keymap.set('n', '<leader>sn', function()
86 vim.ui.input({ prompt = 'Snippet Name: ' }, function(snippet_path)
87 local current_filetype
88 local snippet
89 if string.find(snippet_path, "/") then
90 current_filetype = string.match(snippet_path, "^(.-)/")
91 snippet = string.match(snippet_path, "/(.-)$")
92 else
93 current_filetype = vim.bo.filetype
94 snippet = snippet_path
95 end
96 local dir = os.getenv("HOME") .. '/snippets/' .. current_filetype
97 local path = dir .. '/' .. snippet
98 vim.cmd("!mkdir -p" .. dir)
99 vim.cmd("e " .. path)
100 vim.cmd("set filetype=" .. current_filetype)
101 vim.cmd("set filetype?")
102 end)
103end, { desc = "Create a new snippet" })
104
105
106-- map("n", "<leader>ma", "<cmd>Telescope marks<CR>", { desc = "telescope find marks" })
107-- map("n", "<leader>cm", "<cmd>Telescope git_commits<CR>", { desc = "telescope git commits" })
108-- map("n", "<leader>gt", "<cmd>Telescope git_status<CR>", { desc = "telescope git status" })
109-- map("n", "<leader>th", "<cmd>Telescope themes<CR>", { desc = "telescope nvchad themes" })
110
111-- terminal
112-- map("t", "<C-x>", "<C-\\><C-N>", { desc = "terminal escape terminal mode" })
113
114-- new terminals
115map("n", "<leader><leader>h", function() require("nvchad.term").new { pos = "sp" } end,
116 { desc = "terminal new horizontal term" })
117map("n", "<leader>v", function() require("nvchad.term").new { pos = "vsp" } end,
118 { desc = "terminal new vertical window" })
119-- toggleable
120map({ "n", "t" }, "<A-v>", function() require("nvchad.term").toggle { pos = "vsp", id = "vtoggleTerm" } end,
121 { desc = "terminal toggleable vertical term" })
122map({ "n", "t" }, "<A-t>", function() require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm" } end,
123 { desc = "terminal new horizontal term" })
124map({ "n", "t" }, "<A-i>", function() require("nvchad.term").toggle { pos = "float", id = "floatTerm" } end,
125 { desc = "terminal toggle floating term" })
126
127-- whichkey
128map("n", "<leader>wK", "<cmd>WhichKey <CR>", { desc = "whichkey all keymaps" })
129
130map("n", "<leader>wk", function()
131 vim.cmd("WhichKey " .. vim.fn.input "WhichKey: ")
132end, { desc = "whichkey query lookup" })
133
134-- blankline
135map("n", "<leader>cc", function()
136 local config = { scope = {} }
137 config.scope.exclude = { language = {}, node_type = {} }
138 config.scope.include = { node_type = {} }
139 local node = require("ibl.scope").get(vim.api.nvim_get_current_buf(), config)
140
141 if node then
142 local start_row, _, end_row, _ = node:range()
143 if start_row ~= end_row then
144 vim.api.nvim_win_set_cursor(vim.api.nvim_get_current_win(), { start_row + 1, 0 })
145 vim.api.nvim_feedkeys("_", "n", true)
146 end
147 end
148end, { desc = "blankline jump to current context" })
149
150-- [[ Configure Obsidian.nvim ]]
151map('n', "<leader>oo", ':Obsidian')
152map('n', "<leader>ot", ':ObsidianTags<CR>')
153map('n', "<leader>os", ':ObsidianSearch<CR>')
154map('n', "<leader>oq", ':ObsidianQuickSwitch<CR>')
155map('v', "<leader>on", ':ObsidianLinkNew<CR>')
156
157-- vim.cmd("let g:mkdp_browser = 'surf'")
158vim.cmd("let g:mkdp_browser = 'firefox'")
159vim.g.mkdp_preview_options = {
160 mkit = { breaks = true },
161 toc = {
162 containerClass = "toc",
163 format = 'function format(x, htmlencode) { return `<span>${htmlencode(x)}</span>`; }',
164 callback = "console.log('foo')",
165 }
166}
167
168-- [ Configure Hop ]
169vim.keymap.set('n', "<space>", ':HopWord<CR>')
170vim.keymap.set('n', '<C-.>', ':HopChar1<CR>')