my-nvim-setup/lua/mappings.lua

149 lines
4.2 KiB
Lua
Raw Normal View History

2021-06-24 18:19:42 +01:00
local function map(mode, lhs, rhs, opts)
2021-06-27 16:29:39 +01:00
local options = {noremap = true, silent = true}
2021-03-13 01:23:02 +00:00
if opts then
options = vim.tbl_extend("force", options, opts)
end
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
2021-03-07 14:22:30 +00:00
end
2021-04-21 08:16:24 +01:00
local opt = {}
2021-06-24 18:19:42 +01:00
-- dont copy any deleted text , this is disabled by default so uncomment the below mappings if you want them
2021-05-09 09:22:38 +01:00
--[[ remove this line
2021-04-21 08:16:24 +01:00
map("n", "dd", [=[ "_dd ]=], opt)
map("v", "dd", [=[ "_dd ]=], opt)
map("v", "x", [=[ "_x ]=], opt)
2021-05-09 09:22:38 +01:00
this line too ]]
2021-06-24 18:19:42 +01:00
--
-- escape with 'jk' mapping
2021-07-17 11:43:42 +01:00
vim.api.nvim_set_keymap("i", "jk", "<esc>", {})
vim.api.nvim_set_keymap("v", "jk", "<esc>", {})
vim.api.nvim_set_keymap("t", "jk", "<esc>", {})
2021-07-17 11:43:42 +01:00
-- Don't copy the replaced text after pasting in visual mode
map("v", "p", '"_dP', opt)
2021-04-02 06:36:20 +01:00
-- OPEN TERMINALS --
map("n", "<C-l>", ":vnew +terminal | setlocal nobuflisted <CR>", opt) -- term over right
map("n", "<C-x>", ":10new +terminal | setlocal nobuflisted <CR>", opt) -- term bottom
map("n", "<C-t>t", ":<Cmd> terminal <CR>", opt) -- term buffer
2021-04-01 19:53:12 +01:00
2021-06-24 18:19:42 +01:00
-- copy whole file content
map("n", "<C-a>", ":%y+<CR>", opt)
2021-04-20 05:15:14 +01:00
2021-06-24 18:19:42 +01:00
-- toggle numbers
map("n", "<leader>n", ":set nu!<CR>", opt)
2021-04-20 05:15:14 +01:00
2021-06-24 18:19:42 +01:00
-- Truezen.nvim
map("n", "<leader>zz", ":TZAtaraxis<CR>", opt)
map("n", "<leader>zm", ":TZMinimalist<CR>", opt)
map("n", "<leader>zf", ":TZFocus<CR>", opt)
2021-05-09 09:22:38 +01:00
2021-06-27 13:45:58 +01:00
map("n", "<C-s>", ":w <CR>", opt)
2021-06-15 11:27:55 +01:00
-- Commenter Keybinding
2021-06-27 16:29:39 +01:00
map("n", "<leader>/", ":CommentToggle<CR>", opt)
map("v", "<leader>/", ":CommentToggle<CR>", opt)
2021-06-24 18:19:42 +01:00
-- compe stuff
local t = function(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
local check_back_space = function()
local col = vim.fn.col(".") - 1
if col == 0 or vim.fn.getline("."):sub(col, col):match("%s") then
return true
else
return false
end
end
_G.tab_complete = function()
if vim.fn.pumvisible() == 1 then
return t "<C-n>"
elseif check_back_space() then
return t "<Tab>"
else
return vim.fn["compe#complete"]()
end
end
_G.s_tab_complete = function()
if vim.fn.pumvisible() == 1 then
return t "<C-p>"
elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
return t "<Plug>(vsnip-jump-prev)"
else
return t "<S-Tab>"
end
end
function _G.completions()
local npairs
if
not pcall(
function()
npairs = require "nvim-autopairs"
end
)
then
return
end
2021-06-24 18:19:42 +01:00
if vim.fn.pumvisible() == 1 then
if vim.fn.complete_info()["selected"] ~= -1 then
return vim.fn["compe#confirm"]("<CR>")
end
end
return npairs.check_break_line_char()
end
-- compe mappings
map("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
map("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
map("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
map("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
map("i", "<CR>", "v:lua.completions()", {expr = true})
2021-06-25 18:36:17 +01:00
2021-06-27 16:29:39 +01:00
-- nvimtree
map("n", "<C-n>", ":NvimTreeToggle<CR>", opt)
2021-06-27 16:29:39 +01:00
-- format code
map("n", "<Leader>fm", ":Neoformat<CR>", opt)
2021-06-26 03:10:23 +01:00
-- dashboard stuff
map("n", "<Leader>db", ":Dashboard<CR>", opt)
map("n", "<Leader>fn", ":DashboardNewFile<CR>", opt)
map("n", "<Leader>bm", ":DashboardJumpMarks<CR>", opt)
map("n", "<C-s>l", ":SessionLoad<CR>", opt)
map("n", "<C-s>s", ":SessionSave<CR>", opt)
2021-06-26 03:41:39 +01:00
-- Telescope
map("n", "<Leader>fw", ":Telescope live_grep<CR>", opt)
map("n", "<Leader>gt", ":Telescope git_status <CR>", opt)
map("n", "<Leader>cm", ":Telescope git_commits <CR>", opt)
map("n", "<Leader>ff", ":Telescope find_files <CR>", opt)
map("n", "<Leader>fp", ":lua require('telescope').extensions.media_files.media_files()<CR>", opt)
map("n", "<Leader>fb", ":Telescope buffers<CR>", opt)
map("n", "<Leader>fh", ":Telescope help_tags<CR>", opt)
map("n", "<Leader>fo", ":Telescope oldfiles<CR>", opt)
2021-06-27 13:45:58 +01:00
-- bufferline tab stuff
2021-07-21 06:56:25 +01:00
map("n", "<S-t>", ":enew<CR>", opt) -- new buffer
map("n", "<C-t>b", ":tabnew<CR>", opt) -- new tab
2021-06-27 16:29:39 +01:00
map("n", "<S-x>", ":bd!<CR>", opt) -- close tab
2021-06-27 13:45:58 +01:00
-- move between tabs
map("n", "<TAB>", ":BufferLineCycleNext<CR>", opt)
map("n", "<S-TAB>", ":BufferLineCyclePrev<CR>", opt)
-- use ESC to turn off search highlighting
2021-07-18 11:40:23 +01:00
map("n", "<Esc>", ":noh<CR>", opt)
2021-07-18 11:40:23 +01:00
-- get out of terminal with jk
map("t", "jk", "<C-\\><C-n>", opt)