trixy/fnl/options/keybind.fnl

42 lines
1.5 KiB
Fennel
Executable file

(require-macros :hibiscus.core)
(require-macros :hibiscus.vim)
(g! mapleader " ")
; trim those bastards
(map! [n :noremap] :<leader>tw "<cmd>lua MiniTrailspace.trim()<CR>")
; Telescope mappings
(map! [n :noremap] :<leader>fb "<cmd>Telescope buffers<CR>")
(map! [n :noremap] :<leader>ff "<cmd>Telescope find_files<CR>")
(map! [n :noremap] :<leader>fs "<cmd>Telescope current_buffer_fuzzy_find<CR>")
(map! [n :noremap] :<leader>gs "<cmd>Telescope git_status<CR>")
(map! [n :noremap] :<leader>fg "<cmd>Telescope live_grep<CR>")
(map! [n :noremap] :<leader>fh "<cmd>Telescope help_tags<CR>")
(map! [n :noremap] :<leader>fk "<cmd>Telescope keymaps<CR>")
(map! [n :noremap] :<leader>tt "<cmd>terminal<CR>")
(map! [n :noremap] :<C-Space> "<cmd>bprev<CR>")
; remap keys so that they dont skip camelCase
(map! [n :noremap :silent] :w "<Plug>CamelCaseMotion_w")
(map! [n :noremap :silent] :b "<Plug>CamelCaseMotion_b")
(map! [n :noremap :silent] :e "<Plug>CamelCaseMotion_e")
(map! [n :noremap :silent] :ge "<Plug>CamelCaseMotion_ge")
; this little guy helps you move text, really helpful
(map! [v :noremap] :J ":m '>+1<CR>gv=gv")
(map! [v :noremap] :K ":m '<-2<CR>gv=gv")
; Cursor always stays on center
(map! [n :noremap] :J "mzJ`z")
(map! [n :noremap] :<C-d> "<C-d>zz")
(map! [n :noremap] :<C-u> "<C-u>zz")
(map! [n :noremap] :n "nzzzv")
(map! [n :noremap] :N "Nzzzv")
; interface with system clipboard
(map! [nvx :noremap :silent] :<leader>y "\"+y")
(map! [nvx :noremap :silent] :<leader>Y "\"+yy")
(map! [nvx :noremap :silent] :<leader>p "\"+p")