plugin and keybind updates
This commit is contained in:
parent
b0eebbe326
commit
72a286eecb
@ -1,3 +1,7 @@
|
|||||||
|
--------------------------------------------------
|
||||||
|
-- BASIC OPTIONS --
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
vim.g.loaded_netrw = 1
|
vim.g.loaded_netrw = 1
|
||||||
vim.g.loaded_netrwPlugin = 1
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
|
||||||
@ -13,8 +17,8 @@ vim.opt.completeopt = noinsert,menuone,noselect
|
|||||||
-- enable line under/around cursor
|
-- enable line under/around cursor
|
||||||
vim.opt.cursorline = true
|
vim.opt.cursorline = true
|
||||||
|
|
||||||
-- don't require writing files when changin buffers
|
-- don't require writing files when changing buffers
|
||||||
vim.opt.hidden = true
|
vim.cmd("set hidden")
|
||||||
|
|
||||||
-- show find/replace preview in split window
|
-- show find/replace preview in split window
|
||||||
vim.opt.inccommand = split
|
vim.opt.inccommand = split
|
||||||
@ -41,6 +45,10 @@ vim.cmd("set nocompatible")
|
|||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
vim.keymap.set('n', '<SPACE>', '<Nop>')
|
vim.keymap.set('n', '<SPACE>', '<Nop>')
|
||||||
|
|
||||||
|
--------------------------------------------------
|
||||||
|
-- PLUGINS --
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
-- initialize lazy plugin manager
|
-- initialize lazy plugin manager
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
@ -64,11 +72,19 @@ require("lazy").setup({
|
|||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
build = ":TSUpdate",
|
build = ":TSUpdate",
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
},
|
},
|
||||||
|
|
||||||
-- rainbow delimiters for treesitter
|
-- rainbow delimiters for treesitter
|
||||||
"hiphish/rainbow-delimiters.nvim",
|
"hiphish/rainbow-delimiters.nvim",
|
||||||
|
|
||||||
|
-- indent guide lines
|
||||||
|
{
|
||||||
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
|
main = "ibl",
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
|
||||||
-- fast comment/uncomment
|
-- fast comment/uncomment
|
||||||
{
|
{
|
||||||
"numToStr/Comment.nvim",
|
"numToStr/Comment.nvim",
|
||||||
@ -104,9 +120,9 @@ require("lazy").setup({
|
|||||||
},
|
},
|
||||||
|
|
||||||
-- auto match bracket/parenthesis/quote pairs
|
-- auto match bracket/parenthesis/quote pairs
|
||||||
"jiangmiao/auto-pairs",
|
"tmsvg/pear-tree",
|
||||||
|
|
||||||
-- show colors inline
|
-- show css colors inline
|
||||||
"ap/vim-css-color",
|
"ap/vim-css-color",
|
||||||
|
|
||||||
-- display git add/remove/blame info next to line numbers
|
-- display git add/remove/blame info next to line numbers
|
||||||
@ -129,11 +145,53 @@ require("lazy").setup({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
--------------------------------------------------
|
||||||
|
-- PLUGIN OPTIONS --
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
-- set theme
|
-- set theme
|
||||||
vim.opt.termguicolors = true
|
vim.opt.termguicolors = true
|
||||||
vim.cmd([[colorscheme everforest]])
|
vim.cmd([[ colorscheme everforest ]])
|
||||||
vim.opt.background = "dark"
|
vim.opt.background = "dark"
|
||||||
|
|
||||||
|
-- add auto-closers for mult-character pairs
|
||||||
|
vim.g.pear_tree_pairs = {
|
||||||
|
['/*'] = { closer = '*/' },
|
||||||
|
['<!--'] = { closer = '-->' },
|
||||||
|
['('] = {closer = ')'},
|
||||||
|
['['] = {closer = ']'},
|
||||||
|
['{'] = {closer = '}'},
|
||||||
|
["'"] = {closer = "'"},
|
||||||
|
['"'] = {closer = '"'},
|
||||||
|
}
|
||||||
|
|
||||||
|
vim.g.pear_tree_smart_openers = 1
|
||||||
|
vim.g.pear_tree_smart_closers = 1
|
||||||
|
vim.g.pear_tree_smart_backspace = 1
|
||||||
|
|
||||||
|
-- set rainbow delimiter colors
|
||||||
|
require("rainbow-delimiters.setup").setup {
|
||||||
|
highlight = {
|
||||||
|
'RainbowDelimiterGreen',
|
||||||
|
'RainbowDelimiterBlue',
|
||||||
|
'RainbowDelimiterYellow',
|
||||||
|
'RainbowDelimiterOrange',
|
||||||
|
'RainbowDelimiterViolet',
|
||||||
|
'RainbowDelimiterCyan',
|
||||||
|
'RainbowDelimiterRed',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- set indent guide lines to highlight scope
|
||||||
|
require("ibl").setup()
|
||||||
|
|
||||||
|
-- import treesitter config from ~/.config/nvim/lua/treesitter.lua
|
||||||
|
require("treesitter")
|
||||||
|
|
||||||
|
--------------------------------------------------
|
||||||
|
-- KEYBINDS --
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
-- open sidebar file tree with <space> e
|
-- open sidebar file tree with <space> e
|
||||||
vim.keymap.set('n', '<Leader>e', '<cmd>NvimTreeToggle<cr>')
|
vim.keymap.set('n', '<Leader>e', '<cmd>NvimTreeToggle<cr>')
|
||||||
|
|
||||||
@ -145,8 +203,11 @@ vim.keymap.set('n', '<Leader>bn', '<cmd>bnext<cr>')
|
|||||||
vim.keymap.set('n', '<Leader>bb', '<cmd>bprevious<cr>')
|
vim.keymap.set('n', '<Leader>bb', '<cmd>bprevious<cr>')
|
||||||
vim.keymap.set('n', '<Leader>bc', '<cmd>bd<cr>')
|
vim.keymap.set('n', '<Leader>bc', '<cmd>bd<cr>')
|
||||||
|
|
||||||
-- vim.api.nvim_create_user_command('w!!', 'SudaWrite', {})
|
-- bind write-as-sudo to :w!!
|
||||||
vim.cmd("ca w!! :SudaWrite")
|
vim.cmd("ca w!! :SudaWrite")
|
||||||
|
|
||||||
-- import treesitter config from ~/.config/nvim/lua/treesitter.lua
|
-- map ctrl-backspace to delete previous word
|
||||||
require("treesitter")
|
vim.keymap.set('i', '<C-BS>', '<C-W>')
|
||||||
|
|
||||||
|
-- map ctrl-delete to delete next word
|
||||||
|
vim.keymap.set('i', '<C-Del>', '<C-o>dw')
|
||||||
|
@ -7,11 +7,22 @@ end
|
|||||||
-- configure treesitter
|
-- configure treesitter
|
||||||
treesitter.setup({
|
treesitter.setup({
|
||||||
-- enable syntax highlighting
|
-- enable syntax highlighting
|
||||||
highlight = {
|
highlight = { enable = true },
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
-- enable indentation
|
-- enable indentation
|
||||||
indent = { enable = true },
|
indent = { enable = true },
|
||||||
|
|
||||||
|
-- enable incremental selection (<C-space>)
|
||||||
|
incremental_selection = {
|
||||||
|
enable = true,
|
||||||
|
keymaps = {
|
||||||
|
init_selection = "<C-space>",
|
||||||
|
node_incremental = "<C-space>",
|
||||||
|
scope_incremental = false,
|
||||||
|
node_decremental = "<bs>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
-- ensure these language parsers are installed
|
-- ensure these language parsers are installed
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"json",
|
"json",
|
||||||
@ -33,6 +44,7 @@ treesitter.setup({
|
|||||||
"regex",
|
"regex",
|
||||||
"sxhkdrc",
|
"sxhkdrc",
|
||||||
"udev",
|
"udev",
|
||||||
|
"requirements",
|
||||||
},
|
},
|
||||||
-- auto install above language parsers
|
-- auto install above language parsers
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user