all repos

init.lua @ 3f9b086e01668e14161b7f3dba81c141e7515959

my nvim config
6 files changed, 132 insertions(+), 101 deletions(-)
Added neogit, whichkey
Author: neoteny ss2316544@gmail.com
Committed at: 2022-01-31 22:59:37 +0200
Parent: d6ea519
M lua/keymapings.lua

@@ -1,68 +1,31 @@

-local u = require "utils" -local nmap, map, expr = u.nmap, u.map, u.expr +local function expr(mode, from, to) + vim.api.nvim_set_keymap(mode, from, to, { noremap = true, expr = true }) +end --- General -nmap("<C-s>", "<cmd>write!<cr>") -nmap("<leader>h", "<cmd>nohlsearch<cr>") -nmap("<leader>q", "<cmd>quit!<cr>") -nmap("<leader>w", "<cmd>write!<cr>") -nmap("<leader>ps", "<cmd>PackerSync<cr>") -nmap("<leader>c", "<cmd>bdelete<cr>") -nmap("<leader>e", "<cmd>NvimTreeToggle<cr>") -nmap("<leader>n", "<cmd>vs | e! /tmp/note.md<cr>") - --- Split -nmap("<C-Left>", "<cmd>vertical resize -2<cr>") -nmap("<C-Down>", "<cmd>resize +2<cr>") -nmap("<C-Up", "<cmd>resize -1<cr>") -nmap("<C-Right>", "<cmd>vertical resize +2<CR>") -for _, key in ipairs { "h", "j", "k", "l" } do - nmap(string.format("<C-%s>", key), string.format("<cmd>wincmd %s<cr>", key)) - map("t", string.format("<C-%s>", key), string.format("<C-\\><C-N><C-w>%s", key)) +local function map(mode, from, to) + vim.api.nvim_set_keymap(mode, from, to, { noremap = true, silent = true }) end --- Alternative for arrow up/down +-- Mappings +map("n", "<C-s>", "<cmd>write!<cr>") + expr("i", "<C-j>", 'pumvisible() ? "\\<down>" : "\\<C-j>"') expr("i", "<C-k>", 'pumvisible() ? "\\<up>" : "\\<C-k>"') expr("c", "<C-j>", 'pumvisible() ? "\\<C-n>" : "\\<C-j>"') expr("c", "<C-k>", 'pumvisible() ? "\\<C-p>" : "\\<C-k>"') --- Line moves +map("n", "<C-Left>", "<cmd>vertical resize -2<cr>") +map("n", "<C-Down>", "<cmd>resize +2<cr>") +map("n", "<C-Up", "<cmd>resize -1<cr>") +map("n", "<C-Right>", "<cmd>vertical resize +2<CR>") +for _, key in ipairs { "h", "j", "k", "l" } do + map("n", string.format("<C-%s>", key), string.format("<cmd>wincmd %s<cr>", key)) + map("t", string.format("<C-%s>", key), string.format("<C-\\><C-N><C-w>%s", key)) +end + map("i", "<A-j>", "<Esc>:m .+1<CR>==gi") map("i", "<A-k>", "<Esc>:m .-2<CR>==gi") map("v", "K", ":move '<-2<CR>gv-gv") map("v", "J", ":move '>+1<CR>gv-gv") -nmap("<A-j>", ":m .+1<CR>==") -nmap("<A-k>", ":m .-2<CR>==") - --- Terminal -nmap("<leader>gg", "<cmd>lua term_cmd('lazygit')<cr>") -nmap("<leader>D", "<cmd> lua term_cmd('lazydocker')<cr>") - --- Ultest -nmap("<leader>tt", "<cmd>Ultest<cr>") -nmap("<leader>ts", "<cmd>UltestStop<cr>") -nmap("<leader>tc", "<cmd>UltestClear<cr>") -nmap("<leader>tn", "<cmd>UltestNearest<cr>") -nmap("<leader>to", "<cmd>UltestOutput<cr>") - --- Dap -nmap("<leader>dt", "<cmd>lua require'dap'.toggle_breakpoint()<cr>") -nmap("<leader>db", "<cmd>lua require'dap'.step_back()<cr>") -nmap("<leader>dc", "<cmd>lua require'dap'.continue()<cr>") -nmap("<leader>dd", "<cmd>lua require'dap'.disconnect()<cr>") -nmap("<leader>di", "<cmd>lua require'dap'.step_into()<cr>") -nmap("<leader>do", "<cmd>lua require'dap'.step_over()<cr>") -nmap("<leader>du", "<cmd>lua require'dap'.step_out()<cr>") -nmap("<leader>dr", "<cmd>lua require'dap'.repl.toggle()<cr>") -nmap("<leader>dp", "<cmd>lua require'dap'.pause.toggle()<cr>") -nmap("<leader>dq", "<cmd>lua require'dap'.close()<cr>") - --- Telescope -nmap("<leader>f", "<cmd>Telescope find_files<cr>") -nmap("<leader>b", "<cmd>Telescope buffers<cr>") -nmap("<leader>st", "<cmd>Telescope live_grep<cr>") -nmap("<leader>sr", "<cmd>Telescope oldfiles<cr>") -nmap("<leader>sb", "<cmd>Telescope git_branches<cr>") -nmap("<leader>sc", "<cmd>Telescope git_commits<cr>") -nmap("<leader>sk", "<cmd>Telescope keymaps<cr>") +map("n", "<A-j>", ":m .+1<CR>==") +map("n", "<A-k>", ":m .-2<CR>==")
M lua/options.lua

@@ -8,6 +8,7 @@ -- general

o.completeopt = { "menuone", "noselect" } o.clipboard = "unnamedplus" o.cmdheight = 1 +o.timeoutlen = 250 o.fileencoding = "utf-8" o.hidden = true o.ignorecase = true
M lua/plugin.lua

@@ -13,6 +13,8 @@

use { "Olical/conjure", ft = "clojure", config = get_config "plugin.conjure" } use { "eraserhd/parinfer-rust", run = "cargo build --release", after = "conjure" } + use { "TimUntersberger/neogit", cmd = "Neogit", config = get_config "neogit" } + use { "folke/which-key.nvim", config = get_config "plugin.whichkey" } use { "kyazdani42/nvim-tree.lua", cmd = "NvimTreeToggle", config = get_config "plugin.nvimtree" } use { "tpope/vim-surround", keys = { "c", "d", "y" } } use { "ahmedkhalf/project.nvim", config = get_config "plugin.project" }

@@ -48,13 +50,6 @@ use {

"folke/trouble.nvim", cmd = { "Trouble", "TroubleToggle" }, config = get_config "trouble", - } - - use { - "akinsho/toggleterm.nvim", - module = "toggleterm", - keys = "<C-t>", - config = get_config "plugin.terminal", } use {
M lua/plugin/gitsigns.lua

@@ -13,16 +13,6 @@ signcolumn = true,

numhl = false, linehl = false, word_diff = false, - keymaps = { - noremap = true, - ["n <leader>gs"] = '<cmd>lua require"gitsigns".stage_hunk()<CR>', - ["n <leader>gr"] = '<cmd>lua require"gitsigns".reset_hunk()<CR>', - ["n <leader>gp"] = '<cmd>lua require"gitsigns".preview_hunk()<CR>', - ["n <leader>gb"] = '<cmd>lua require"gitsigns".blame_line(true)<CR>', - ["n <leader>gR"] = '<cmd>lua require"gitsigns".reset_buffer()<CR>', - ["n <leader>gS"] = '<cmd>lua require"gitsigns".stage_buffer()<CR>', - ["n <leader>gU"] = '<cmd>lua require"gitsigns".reset_buffer_index()<CR>', - }, watch_gitdir = { interval = 1000, follow_files = true,
D

@@ -1,28 +0,0 @@

-local M = {} - -function M.setup() - require("toggleterm").setup { - size = 20, - open_mapping = [[<c-t>]], - hide_numbers = true, - shade_filetypes = {}, - shade_terminals = true, - shading_factor = 2, - start_in_insert = true, - insert_mappings = true, - persist_size = false, - direction = "float", - close_on_exit = true, - shell = vim.o.shell, - float_opts = { - border = "curved", - winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, - }, - } -end - -return M
A lua/plugin/whichkey.lua

@@ -0,0 +1,110 @@

+local M = {} + +function M.setup() + local wk = require "which-key" + + wk.setup { + plugins = { + marks = false, + registers = false, + spelling = { + enabled = false, + suggestions = 20, + }, + presets = { + operators = true, + motions = true, + text_objects = true, + windows = true, + nav = true, + z = true, + g = true, + }, + }, + operators = { gc = "Comments" }, + hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, + popup_mappings = { scroll_down = "<c-d>", scroll_up = "<c-u>" }, + ignore_missing = true, + show_help = true, + key_labels = { + ["<space>"] = "SPC", + ["<cr>"] = "RET", + ["<tab>"] = "TAB", + }, + icons = { + breadcrumb = "»", + separator = "➜", + group = "+", + }, + window = { + border = "none", + position = "bottom", + margin = { 1, 0, 1, 0 }, + padding = { 0, 1, 1, 0 }, + winblend = 0, + }, + layout = { + height = { min = 4, max = 25 }, + width = { min = 20, max = 50 }, + spacing = 3, + align = "left", + }, + } + + local opts = { + mode = "n", + prefix = "<leader>", + buffer = nil, + silent = true, + noremap = true, + nowait = false, + } + + local mappings = { + f = { "<cmd>Telescope find_files<cr>", "Find file" }, + e = { "<cmd>NvimTreeToggle<cr>", "File explorer" }, + b = { "<cmd>Telescope buffers<cr>", "Find buffer" }, + w = { "<cmd>write!<cr>", "Save file" }, + q = { "<cmd>quit!<cr>", "Quit" }, + c = { "<cmd>bdelete<cr>", "Close buffer" }, + h = { "<cmd>nohlsearch<cr>", "No hl" }, + n = { "<cmd>vs | e! /tmp/note.md<cr>", "Note" }, + s = { + name = "telescope", + t = { "<cmd>Telescope live_grep<cr>", "Live grep" }, + r = { "<cmd>Telescope oldfiles<cr>", "Find oldfile" }, + b = { "<cmd>Telescope git_branches<cr>", "Git branches" }, + c = { "<cmd>Telescope git_commits<cr>", "Git commits" }, + k = { "<cmd>Telescope keymaps<cr>", "Find keymap" }, + }, + g = { + name = "git", + g = { "<cmd>Neogit<cr>", "Neogit" }, + s = { "<cmd>lua require[[gitsigns]].stage_hunk()<cr>", "Stage hunk" }, + r = { "<cmd>lua require[[gitsigns]].reset_hunk()<cr>", "Reset hunk" }, + p = { "<cmd>lua require[[gitsigns]].preview_hunk()<cr>", "Preview hunk" }, + b = { "<cmd>lua require[[gitsigns]].blame_line(true)<cr>", "Blame line" }, + R = { "<cmd>lua require[[gitsigns]].reset_buffer()<cr>", "Reset buffer" }, + S = { "<cmd>lua require[[gitsigns]].stage_buffer()<cr>", "Stage buffer" }, + }, + p = { + name = "packer", + s = { "<cmd>PackerSync<cr>", "Sync" }, + c = { "<cmd>PackerClean<cr>", "Clean" }, + }, + t = { + name = "test", + t = { "<cmd>Ultest<cr>", "Run all" }, + s = { "<cmd>UltestStop<cr>", "Stop all" }, + c = { "<cmd>UltestClear<cr>", "Clean results" }, + n = { "<cmd>UltestNearest<cr>", "Run nearest" }, + N = { "<cmd>UltestStopNearest<cr>", "Stop nearest" }, + o = { "<cmd>UltestOutput<cr>", "Show output" }, + S = { "<cmd>UltestSummary<cr>", "Summary win" }, + }, + } + + wk.register(mappings, opts) +end + +return M