add old nvim bindings
This commit is contained in:
parent
29c77cd7e5
commit
f57c054aa0
5 changed files with 301 additions and 10 deletions
148
after/plugin/defaults.lua
Normal file
148
after/plugin/defaults.lua
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
|
||||
-- Settings
|
||||
vim.opt.relativenumber = true
|
||||
-- The backspace key has slightly unintuitive behavior by default. For example,
|
||||
-- by default, you can't backspace before the insertion point set with 'i'.
|
||||
-- This configuration makes backspace behave more reasonably, in that you can
|
||||
-- backspace over anything.
|
||||
vim.opt.backspace = { 'indent', 'eol', 'start' }
|
||||
-- By default, Vim doesn't let you hide a buffer (i.e. have a buffer that isn't
|
||||
-- shown in any window) that has unsaved changes. This is to prevent you from
|
||||
-- forgetting about unsaved changes and then quitting e.g. via `:qa!`. We find
|
||||
-- hidden buffers helpful enough to disable this protection. See `:help hidden`
|
||||
-- for more information on this.
|
||||
vim.opt.hidden = true
|
||||
-- This setting makes search case-insensitive when all characters in the string
|
||||
-- being searched are lowercase. However, the search becomes case-sensitive if
|
||||
-- it contains any capital letters. This makes searching more convenient.
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true
|
||||
-- Enable searching as you type, rather than waiting till you press enter.
|
||||
vim.opt.incsearch = true
|
||||
-- Unbind some useless/annoying default key bindings.
|
||||
-- 'Q' in normal mode enters Ex mode. You almost never want this.
|
||||
vim.keymap.set('n', 'Q', '<Nop>', { noremap = true, silent = true })
|
||||
-- Tab settings
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.expandtab = true
|
||||
-- Do smart autoindenting when starting a new line.
|
||||
vim.opt.smartindent = true
|
||||
vim.opt.shiftwidth = 4
|
||||
-- Always block cursor
|
||||
vim.opt.guicursor = ''
|
||||
-- Disable highlighted search matches
|
||||
vim.opt.hlsearch = false
|
||||
-- Disable swapfiles
|
||||
vim.opt.swapfile = false
|
||||
-- undo settings
|
||||
vim.opt.undodir = vim.fn.expand('$HOME') .. '/nvim/undo'
|
||||
vim.opt.undofile = true
|
||||
-- Enables 24-bit RGB color
|
||||
vim.opt.termguicolors = true
|
||||
-- Scroll settings
|
||||
vim.opt.scrolloff = 8
|
||||
-- Turn off -- INSERT -- message
|
||||
vim.opt.showmode = false
|
||||
-- Add column for hints to prevent gitter
|
||||
vim.opt.signcolumn = 'yes'
|
||||
-- Highlight current line of cursor
|
||||
vim.opt.cursorline = true
|
||||
-- Clipboard settings
|
||||
-- ALWAYS use the clipboard for ALL operations (instead of interacting with
|
||||
--the '+' and/or '*' registers explicitly)
|
||||
-- vim.opt.clipboard = 'unnamedplus'
|
||||
-- Wrappring settings
|
||||
vim.opt.wrap = false
|
||||
--global status line
|
||||
vim.opt.laststatus = 3
|
||||
|
||||
|
||||
-- Colorscheme
|
||||
-- https://github.com/projekt0n/github-nvim-theme
|
||||
require("github-theme").setup({
|
||||
specs = {
|
||||
all = {
|
||||
diag = {
|
||||
error = 'red',
|
||||
hint = 'orange',
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
groups = {
|
||||
all = {
|
||||
StatusLine = {link = "Comment"},
|
||||
Search = {link = "TSNote"},
|
||||
TSField = {}
|
||||
}
|
||||
}
|
||||
})
|
||||
-- vim.cmd [[colorscheme github_dark_colorblind]]
|
||||
vim.cmd.colorscheme('github_dark_colorblind')
|
||||
|
||||
|
||||
|
||||
|
||||
-- Telescope config
|
||||
-- mostly defaults pulled from the docs
|
||||
local actions = require('telescope.actions')
|
||||
require('telescope').setup{
|
||||
defaults = {
|
||||
-- Default configuration for telescope goes here:
|
||||
-- config_key = value,
|
||||
sorting_strategy = "ascending",
|
||||
-- winblend = 30,
|
||||
layout_config = {
|
||||
horizontal = {
|
||||
prompt_position = "top",
|
||||
width = 0.95,
|
||||
height = 0.95
|
||||
}
|
||||
},
|
||||
mappings = {
|
||||
i = {
|
||||
-- map actions.which_key to <C-h> (default: <C-/>)
|
||||
-- actions.which_key shows the mappings for your picker,
|
||||
-- e.g. git_{create, delete, ...}_branch for the git_branches picker
|
||||
["<C-y>"] = actions.select_default,
|
||||
}
|
||||
}
|
||||
},
|
||||
extensions = {
|
||||
fzf = {
|
||||
fuzzy = true, -- false will only do exact matching
|
||||
override_generic_sorter = false, -- override the generic sorter
|
||||
override_file_sorter = true, -- override the file sorter
|
||||
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
|
||||
-- the default case_mode is "smart_case"
|
||||
}
|
||||
},
|
||||
}
|
||||
-- require('telescope').load_extension('fzf')
|
||||
-- require('telescope').load_extension('dap')
|
||||
|
||||
-- Emmet
|
||||
-- C-y + ,
|
||||
vim.g.user_emmet_mode = 'n'
|
||||
vim.g.user_emmet_leader_key = ','
|
||||
vim.g.user_emmet_settings = {
|
||||
typescript = {
|
||||
extends = 'jsx',
|
||||
},
|
||||
typescriptreact = {
|
||||
extends = 'jsx',
|
||||
}
|
||||
}
|
||||
|
||||
vim.g.neoformat_try_node_exe = 1
|
||||
|
||||
|
||||
-- -- Show diagnostic popup on cursor hover
|
||||
-- vim.g.updatetime = 300
|
||||
-- vim.cmd [[autocmd CursorHold * lua vim.diagnostic.open_float()]]
|
||||
--
|
||||
-- Rust format on save
|
||||
vim.g.rustfmt_autosave = 1
|
||||
-- Filetype detection
|
||||
vim.cmd('filetype plugin indent on')
|
||||
95
after/plugin/keymaps.lua
Normal file
95
after/plugin/keymaps.lua
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
local opts = { noremap = true, silent = true }
|
||||
|
||||
-- Keymaps
|
||||
-- Paste over selection
|
||||
vim.keymap.set('v', '<leader>p', '"_dP', opts)
|
||||
-- Y copy from cursor to end of line
|
||||
vim.keymap.set('n', 'Y', 'y$', opts)
|
||||
-- Keep cursor centered when scrolling search matches
|
||||
vim.keymap.set('n', 'n', 'nzzzv', opts)
|
||||
vim.keymap.set('n', 'N', 'Nzzzv', opts)
|
||||
vim.keymap.set('n', 'J', 'mzJ`z', opts)
|
||||
-- Undo breakpoints
|
||||
vim.keymap.set('i', ',', ',<c-g>u', opts)
|
||||
vim.keymap.set('i', '.', '.<c-g>u', opts)
|
||||
vim.keymap.set('i', '!', '!<c-g>u', opts)
|
||||
vim.keymap.set('i', '?', '?<c-g>u', opts)
|
||||
-- Jumplist mutations
|
||||
vim.keymap.set('n', '<expr> k', '(v:count > 5 ? "m\'" . v:count : "") . \'k\'', opts)
|
||||
vim.keymap.set('n', '<expr> j', '(v:count > 5 ? "m\'" . v:count : "") . \'j\'', opts)
|
||||
-- Moving text
|
||||
vim.keymap.set('v', 'J', ':m \'>+1<CR>gv=gv', opts)
|
||||
vim.keymap.set('v', 'K', ':m \'>-2<CR>gv=gv', opts)
|
||||
vim.keymap.set('n', '<leader>j', ':m .+1<CR>==', opts)
|
||||
vim.keymap.set('n', '<leader>k', ':m .-2<CR>==', opts)
|
||||
|
||||
vim.keymap.set('n', '<space>ft', '<cmd>:Format<CR>', opts)
|
||||
-- GIT
|
||||
-- Fugitive git bindings
|
||||
vim.keymap.set('n', '<leader>ga', ':Git add %:p<CR><CR>', opts)
|
||||
vim.keymap.set('n', '<leader>gs', ':Git<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>gc', ':Git commit -v -q<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>gt', ':Git commit -v -q %:p<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>d', ':Gdiff<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>dm', ':Gdiffsplit!<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>ge', ':Gedit<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>gr', ':Gread<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>gw', ':Gwrite<CR><CR>', opts)
|
||||
vim.keymap.set('n', '<leader>gl', ':silent! Glog<CR>:bot copen<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>gp', ':Ggrep<space>', opts)
|
||||
vim.keymap.set('n', '<leader>gm', ':Gmove<space>', opts)
|
||||
vim.keymap.set('n', '<leader>gb', ':Git branch<Space>', opts)
|
||||
vim.keymap.set('n', '<leader>go', ':Git checkout<Space>', opts)
|
||||
vim.keymap.set('n', '<leader>gps', ':Git push<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>gpl', ':Dispatch! git pull<CR>', opts)
|
||||
-- Interactive merge conflict SPAVE-mv to trigger from git status menu
|
||||
vim.keymap.set('n', '<leader>gj', ':diffget //3<Space>', opts)
|
||||
vim.keymap.set('n', '<leader>gf', ':diffget //2<Space>', opts)
|
||||
-- TELESCOPE
|
||||
vim.keymap.set('n', '<leader>rg', require('telescope.builtin').live_grep, opts)
|
||||
vim.keymap.set('n', '<leader>pw', require('telescope.builtin').grep_string, opts)
|
||||
vim.keymap.set('n', '<leader>pf', require('telescope.builtin').find_files, opts)
|
||||
vim.keymap.set('n', '<leader>pg', require('telescope.builtin').git_files, opts)
|
||||
vim.keymap.set('n', '<leader>pb', require('telescope.builtin').buffers, opts)
|
||||
vim.keymap.set('n', '<leader>m', require('telescope.builtin').man_pages, opts)
|
||||
vim.keymap.set('n', '<leader>pc', require('telescope.builtin').current_buffer_fuzzy_find, opts)
|
||||
vim.keymap.set('n', '<leader>tg', require('telescope.builtin').live_grep, opts)
|
||||
vim.keymap.set('n', '<leader>gl', require('telescope.builtin').git_bcommits, opts)
|
||||
vim.keymap.set('n', '<leader>gk', require('telescope.builtin').git_commits, opts)
|
||||
-- kenesis
|
||||
vim.keymap.set('n', '<leader>th', require('telescope.builtin').grep_string, opts)
|
||||
vim.keymap.set('n', '<leader>tj', require('telescope.builtin').find_files, opts)
|
||||
vim.keymap.set('n', '<leader>tk', require('telescope.builtin').git_files, opts)
|
||||
vim.keymap.set('n', '<leader>tm', require('telescope.builtin').buffers, opts)
|
||||
vim.keymap.set('n', '<leader>t;', require('telescope.builtin').help_tags, opts)
|
||||
vim.keymap.set('n', '<leader>tl', require('telescope.builtin').current_buffer_fuzzy_find, opts)
|
||||
-- for debugger
|
||||
-- vim.keymap.set('n', '<Leader>tp', '<Cmd>:Telescope dap list_breakpoints<CR>', opts)
|
||||
-- vim.keymap.set('n', '<Leader>tc', '<Cmd>:Telescope dap commands<CR>', opts)
|
||||
|
||||
-- Harpoon
|
||||
vim.keymap.set('n', '<space>ha', '<cmd>lua require("harpoon.mark").add_file()<CR>', opts)
|
||||
vim.keymap.set('n', '<space>hj', '<cmd>lua require("harpoon.ui").toggle_quick_menu()<CR>', opts)
|
||||
vim.keymap.set('n', '<space>hn', '<cmd>lua require("harpoon.ui").nav_next()<CR>', opts)
|
||||
vim.keymap.set('n', '<space>hp', '<cmd>lua require("harpoon.ui").nav_prev()<CR>', opts)
|
||||
vim.keymap.set('n', '<space>h1', '<cmd>lua require("harpoon.ui").nav_file(1)<CR>', opts)
|
||||
vim.keymap.set('n', '<space>h2', '<cmd>lua require("harpoon.ui").nav_file(2)<CR>', opts)
|
||||
vim.keymap.set('n', '<space>h3', '<cmd>lua require("harpoon.ui").nav_file(3)<CR>', opts)
|
||||
vim.keymap.set('n', '<space>h4', '<cmd>lua require("harpoon.ui").nav_file(4)<CR>', opts)
|
||||
|
||||
vim.keymap.set('n', '<space>sn', '<cmd>:PackerSync<CR>', opts)
|
||||
|
||||
-- DEBUG
|
||||
vim.keymap.set('n', '<F5>', '<Cmd>lua require("dap").continue()<CR>', opts)
|
||||
vim.keymap.set('n', '<F10>', '<Cmd>lua require("dap").step_over()<CR>', opts)
|
||||
vim.keymap.set('n', '<F11>', '<Cmd>lua require("dap").step_into()<CR>', opts)
|
||||
vim.keymap.set('n', '<F12>', '<Cmd>lua require("dap").step_out()<CR>', opts)
|
||||
vim.keymap.set('n', '<Leader>b', '<Cmd>lua require("dap").toggle_breakpoint()<CR>', opts)
|
||||
vim.keymap.set('n', '<Leader>B', '<Cmd>lua require("dap").set_breakpoint(vim.fn.input("Breakpoint condition: "))<CR>', opts)
|
||||
vim.keymap.set('n', '<Leader>lp', '<Cmd>lua require("dap").set_breakpoint(nil, nil, vim.fn.input("Log point message: "))<CR>', opts)
|
||||
vim.keymap.set('n', '<Leader>dr', '<Cmd>lua require("dap").repl.open()<CR>', opts)
|
||||
vim.keymap.set('n', '<Leader>dl', '<Cmd>lua require("dap").run_last()<CR>', opts)
|
||||
vim.keymap.set('n', '<Leader>dc', '<Cmd>lua require("dapui").close()<CR>', opts)
|
||||
|
||||
--unbinds
|
||||
-- vim.keymap.set('n', 'b', '<Nop>', opts)
|
||||
Loading…
Add table
Add a link
Reference in a new issue