From 6cbea806851d40564b0a3078731e85bb3b34c3e6 Mon Sep 17 00:00:00 2001 From: Fabio Lenherr / DashieTM Date: Sun, 8 Jan 2023 22:58:43 +0100 Subject: [PATCH] feat: add better bindings --- nvim/.luarc.json | 4 ++++ nvim/init.lua | 8 +++++++- nvim/lua/settings/keymaps.lua | 22 +++++++++++++++++++++- nvim/lua/settings/nvim-tree.lua | 5 +++-- nvim/lua/settings/options.lua | 3 ++- 5 files changed, 37 insertions(+), 5 deletions(-) diff --git a/nvim/.luarc.json b/nvim/.luarc.json index 26f441d..6789105 100644 --- a/nvim/.luarc.json +++ b/nvim/.luarc.json @@ -1,5 +1,9 @@ { "$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json", + "Lua.diagnostics.globals": [ + "termid", + "global" + ], "Lua.workspace.library": [ "${3rd}/luassert/library" ] diff --git a/nvim/init.lua b/nvim/init.lua index 056b734..3c251fc 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1,3 +1,6 @@ +vim.g.loaded_netrw = 1 +vim.g.loaded_netrwPlugin = 1 + require("settings.plugins") require("settings.options") require("settings.cmp") @@ -23,4 +26,7 @@ require("feline").setup() require("impatient").enable_profile() require("nightfox") require('Comment').setup() -require("toggleterm").setup() +require("toggleterm").setup({ + autochdir = true, +}) +require('leap').add_default_mappings() diff --git a/nvim/lua/settings/keymaps.lua b/nvim/lua/settings/keymaps.lua index b4c7142..fa0388c 100644 --- a/nvim/lua/settings/keymaps.lua +++ b/nvim/lua/settings/keymaps.lua @@ -11,9 +11,11 @@ keymap("n", "", ':lua require("dap").continue()', opts) keymap("n", "", ':lua require("dap").close() :lua require("dapui").toggle()', opts) -- file tree -keymap("n", "t", ":ToggleTerm", opts) keymap("n", "f", ':lua require("nvim-tree").toggle()', opts) +-- toggle terminal +keymap('n', '', ':ToggleTerm ZSH', opts) + -- tab switching keymap("n", "", ":BufferPrev", opts) keymap("n", "", ":BufferNext", opts) @@ -34,6 +36,24 @@ keymap("n", "ge", ":lua require('telescope.builtin').git_branches()" keymap("n", "gr", ":lua require('telescope.builtin').git_status()", opts) keymap("n", "ga", ":lua require('telescope.builtin').git_stash()", opts) +-- window switching +function _G.set_terminal_keymaps() + local opts = {buffer = 0} + vim.keymap.set('t', '', [[]], opts) + vim.keymap.set('t', 'jk', [[]], opts) + vim.keymap.set('t', '', [[wincmd h]], opts) + vim.keymap.set('t', '', [[wincmd j]], opts) + vim.keymap.set('t', '', [[wincmd k]], opts) + vim.keymap.set('t', '', [[wincmd l]], opts) +end + +-- if you only want these mappings for toggle term use term://*toggleterm#* instead +vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()') +keymap("n", "", ":wincmd h", opts) +keymap("n", "", ":wincmd j", opts) +keymap("n", "", ":wincmd k", opts) +keymap("n", "", ":wincmd l", opts) + -- harpoon man diff --git a/nvim/lua/settings/nvim-tree.lua b/nvim/lua/settings/nvim-tree.lua index 0871601..f122fb3 100644 --- a/nvim/lua/settings/nvim-tree.lua +++ b/nvim/lua/settings/nvim-tree.lua @@ -26,9 +26,9 @@ nvim_tree.setup { -- BEGIN_DEFAULT_OPTS sort_by = "name", root_dirs = {}, prefer_startup_root = false, - sync_root_with_cwd = false, + sync_root_with_cwd = true, reload_on_bufenter = false, - respect_buf_cwd = false, + respect_buf_cwd = true, on_attach = "disable", -- function(bufnr). If nil, will use the deprecated mapping strategy remove_keymaps = false, -- boolean (disable totally or not) or list of key (lhs) view = { @@ -124,6 +124,7 @@ nvim_tree.setup { -- BEGIN_DEFAULT_OPTS }, update_focused_file = { enable = true, + -- update_cwd = true, update_root = false, ignore_list = {}, }, diff --git a/nvim/lua/settings/options.lua b/nvim/lua/settings/options.lua index c260241..8a66087 100644 --- a/nvim/lua/settings/options.lua +++ b/nvim/lua/settings/options.lua @@ -23,7 +23,8 @@ local options = { syntax = "off", spelllang = "en_us", mousemodel = "popup_setpos", - shell = "/usr/bin/zsh" + shell = "/usr/bin/zsh", + autochdir = true, } vim.g.mkdp_browser = '/usr/bin/firefox'