Merged n stuff
commit
b0b0718b41
|
@ -0,0 +1,27 @@
|
|||
local g = vim.g
|
||||
|
||||
g.coq_settings = {
|
||||
auto_start = "shut-up"
|
||||
}
|
||||
|
||||
vim.api.nvim_set_keymap("i", "<Tab>", 'pumvisible() ? "\\<C-n>" : "\\<Tab>"', {
|
||||
expr = true
|
||||
})
|
||||
|
||||
vim.api.nvim_set_keymap("i", "<S-Tab>", 'pumvisible() ? "\\<C-p>" : "\\<S-Tab>"', {
|
||||
expr = true
|
||||
})
|
||||
|
||||
--Set completeopt to have a better completion experience
|
||||
vim.o.completeopt = "menuone,noinsert,noselect"
|
||||
|
||||
--Avoid showing message extra message when using completion
|
||||
vim.o.shortmess = vim.o.shortmess .. "c"
|
||||
|
||||
vim.g.completion_chain_complete_list = {
|
||||
default = {
|
||||
{ complete_items = { 'lsp', "buffer", "buffers" } },
|
||||
{ mode = { '<c-p>' } },
|
||||
{ mode = { '<c-n>' } }
|
||||
},
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
local g = vim.g
|
||||
|
||||
g.ctrlp_map = "<leader>t"
|
||||
-- g.ctrlp_use_caching = 1
|
||||
-- g.ctrlp_clear_cache_on_exit = 0
|
||||
-- g.ctrlp_cache_dir = "./.vim/cache/ctrlp"
|
||||
g.ctrlp_user_command = {
|
||||
'.git', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'
|
||||
}
|
||||
|
||||
--Limit max number of files
|
||||
--This prevents me from indexing my entire HOME by accident
|
||||
g.ctrlp_max_files = 1000
|
||||
--Also limit recursion depth
|
||||
g.ctrlp_max_depth = 10
|
|
@ -0,0 +1,7 @@
|
|||
-- tpope/vim-fugitive
|
||||
nmap("<leader>gg", ":Git<CR>")
|
||||
nmap("<leader>gc", ":Git commit<CR>")
|
||||
nmap("<leader>gp", ":Git push<CR>")
|
||||
nmap("<leader>gd", ":Gdiffsplit!<CR>")
|
||||
nmap("<leader>gm", ":Git mergetool<CR>")
|
||||
nmap("<leader>gb", ":Git blame<CR>")
|
|
@ -0,0 +1,3 @@
|
|||
local g = vim.g
|
||||
|
||||
g.gitgutter_map_keys = 0
|
|
@ -0,0 +1,45 @@
|
|||
-- neovim/neovim-lspconfig
|
||||
local function on_attach(client, bufnr)
|
||||
local opts = {
|
||||
silent = true,
|
||||
noremap = true,
|
||||
}
|
||||
local function buf_nmap(mapping, cmd) vim.api.nvim_buf_set_keymap(bufnr, "n", mapping, cmd, opts) end
|
||||
|
||||
-- Jump to definition
|
||||
buf_nmap("gd", "<Cmd>lua vim.lsp.buf.definition()<CR>")
|
||||
-- Format current buffer on write
|
||||
vim.api.nvim_command([[autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_seq_sync()]])
|
||||
-- Show diagnostics for current line
|
||||
buf_nmap("<leader>dd", "<Cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>")
|
||||
-- Jump between diagnostic messages
|
||||
buf_nmap("<leader>dj", "<Cmd>lua vim.lsp.diagnostic.goto_next()<CR>")
|
||||
buf_nmap("<leader>dk", "<Cmd>lua vim.lsp.diagnostic.goto_previous()<CR>")
|
||||
-- Rename symbol under cursor
|
||||
buf_nmap("<leader>dr", "<Cmd>lua vim.lsp.buf.rename()<CR>")
|
||||
-- Show hover info
|
||||
buf_nmap("<leader>df", "<Cmd>lua vim.lsp.buf.hover()<CR>")
|
||||
end
|
||||
|
||||
-- Comes with clang
|
||||
require'lspconfig'.clangd.setup{on_attach = on_attach}
|
||||
-- NPM: dockerfile-language-server-nodejs
|
||||
require'lspconfig'.dockerls.setup{}
|
||||
-- Pacman: haskell-language-server
|
||||
-- AUR: haskell-language-server-bin
|
||||
-- GH: https://github.com/haskell/haskell-language-server
|
||||
require'lspconfig'.hls.setup{
|
||||
on_attach = on_attach,
|
||||
settings = {
|
||||
haskell = {
|
||||
formattingProvider = "stylish-haskell"
|
||||
}
|
||||
}
|
||||
}
|
||||
-- Pacman: rust-analyzer
|
||||
-- GH: https://github.com/rust-analyzer/rust-analyzer
|
||||
require'lspconfig'.rust_analyzer.setup{on_attach = on_attach}
|
||||
-- Installed using R shell:
|
||||
-- `install.packages('languageserver')`
|
||||
-- GH: https://github.com/REditorSupport/languageserver
|
||||
require'lspconfig'.r_language_server.setup{}
|
|
@ -0,0 +1,29 @@
|
|||
local g = vim.g
|
||||
|
||||
g.NERDTreeIgnore = {
|
||||
'^\\.vim$[[dir]]',
|
||||
'^\\.vscode$[[dir]]', '.*\\.code-workspace$[[file]]', '^\\.idea$[[dir]]',
|
||||
'^__pycache__$[[dir]]', '^\\.pytest_cache$[[dir]]', '^venv$[[dir]]',
|
||||
'\\.egg-info$[[dir]]', '^dist$[[dir]]', '^build$[[dir]]',
|
||||
'^\\.eggs$[[dir]]',
|
||||
'^out$[[dir]]',
|
||||
'^\\.git$[[dir]]',
|
||||
'^\\.stack-work$[[dir]]', '\\.lock$',
|
||||
'^CMakeFiles$[[dir]]', '^CMakeCache.txt$[[file]]',
|
||||
'.pdf$[[file]]',
|
||||
'^node_modules$[[dir]]'
|
||||
}
|
||||
|
||||
g.NERDTreeShowHidden = 1
|
||||
g.NERDTreeMinimalUI = 1
|
||||
g.NERDTreeDirArrows = 1
|
||||
g.NERDTreeQuitOnOpen = 1
|
||||
g.NERDTreeChDirMode = 0
|
||||
g.NERDTreeNaturalSort = 1
|
||||
g.NERDTreeShowFiles = 1
|
||||
g.NERDTreeShowLineNumbers = 0
|
||||
g.NERDTreeWinPos = 'left'
|
||||
g.NERDTreeMinimalMenu = 1
|
||||
g.NERDTreeAutoDeleteBuffer = 1
|
||||
|
||||
nmap("tt", ":NERDTreeFind<CR>")
|
|
@ -0,0 +1,12 @@
|
|||
local g = vim.g
|
||||
|
||||
g.tagbar_map_nexttag = "J"
|
||||
g.tagbar_map_prevtag = "K"
|
||||
g.tagbar_map_showproto = "u"
|
||||
g.tagbar_sort = 0
|
||||
g.tagbar_compact = 1
|
||||
g.tagbar_autoshowtag = 1
|
||||
g.no_status_line = 1
|
||||
g.tagbar_autoclose = 1
|
||||
|
||||
nmap("tr", ":TagbarToggle<CR>")
|
|
@ -0,0 +1,15 @@
|
|||
vim.o.hidden = true
|
||||
|
||||
require("toggleterm").setup {
|
||||
-- open_mapping = "<leader>r",
|
||||
direction = "float",
|
||||
insert_mappings = false,
|
||||
start_in_insert = false
|
||||
}
|
||||
|
||||
nmap("<leader>rr", ":ToggleTerm<CR>")
|
||||
nmap("<leader>ry", ":1ToggleTerm<CR>")
|
||||
nmap("<leader>ru", ":2ToggleTerm<CR>")
|
||||
nmap("<leader>ri", ":3ToggleTerm<CR>")
|
||||
nmap("<leader>ro", ":4ToggleTerm<CR>")
|
||||
nmap("<leader>rp", ":5ToggleTerm<CR>")
|
|
@ -0,0 +1,3 @@
|
|||
require"nvim-treesitter.configs".setup {
|
||||
highlight = { enable = true }
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
local g = vim.g
|
||||
|
||||
g.v_autofmt_bufwritepre = 1
|
|
@ -1,5 +1,6 @@
|
|||
imap("jk", "<Esc>")
|
||||
imap("<Esc>", "<nop>")
|
||||
|
||||
vim.api.nvim_exec("inoremap <Esc> <nop>", false)
|
||||
|
||||
-- Navigate splits
|
||||
nmap("<leader>h", ":wincmd h<CR>")
|
||||
|
|
|
@ -4,206 +4,113 @@
|
|||
-- Largely inspired by https://github.com/wbthomason/packer.nvim#bootstrapping
|
||||
local fn = vim.fn
|
||||
local g = vim.g
|
||||
|
||||
-- Install packer if it isn't present
|
||||
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
||||
|
||||
if fn.empty(fn.glob(install_path)) > 0 then
|
||||
fn.system({'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path})
|
||||
vim.api.nvim_command('packadd packer.nvim')
|
||||
packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
|
||||
vim.cmd [[ packadd packer.nvim ]]
|
||||
end
|
||||
|
||||
require('packer').startup(function()
|
||||
require('packer').startup(function(use)
|
||||
use "wbthomason/packer.nvim"
|
||||
-- Improves boot times
|
||||
-- use {"lewis6991/impatient.nvim", rocks = 'mpack'}
|
||||
use "ctrlpvim/ctrlp.vim"
|
||||
use "tpope/vim-fugitive"
|
||||
|
||||
-- Fuzzy search engine
|
||||
use {
|
||||
"ctrlpvim/ctrlp.vim",
|
||||
setup = [[require('config.ctrlp')]]
|
||||
}
|
||||
|
||||
-- Git client
|
||||
use {
|
||||
"tpope/vim-fugitive",
|
||||
config = [[require('config.fugitive')]]
|
||||
}
|
||||
|
||||
-- Shortcuts for commenting out code
|
||||
use "tpope/vim-commentary"
|
||||
|
||||
-- Shortcuts for surrounding pieces of text
|
||||
use "tpope/vim-surround"
|
||||
use "majutsushi/tagbar"
|
||||
use "airblade/vim-gitgutter"
|
||||
|
||||
-- Shows ctags in a sidebar
|
||||
use {
|
||||
"majutsushi/tagbar",
|
||||
config = [[require('config.tagbar')]]
|
||||
}
|
||||
|
||||
-- Shows git diff markers
|
||||
use {
|
||||
"airblade/vim-gitgutter",
|
||||
config = [[require('config.gitgutter')]]
|
||||
}
|
||||
|
||||
use "hynek/vim-python-pep8-indent"
|
||||
use "michaeljsmith/vim-indent-object"
|
||||
use "preservim/nerdtree"
|
||||
use "cespare/vim-toml"
|
||||
|
||||
-- File explorer
|
||||
use {
|
||||
"preservim/nerdtree",
|
||||
config = [[require('config.nerdtree')]]
|
||||
}
|
||||
|
||||
use "jiangmiao/auto-pairs"
|
||||
|
||||
-- Align text
|
||||
use "godlygeek/tabular"
|
||||
|
||||
-- Automatically load a .editorconfig file if found
|
||||
use "editorconfig/editorconfig-vim"
|
||||
use "neovim/nvim-lspconfig"
|
||||
-- use "hrsh7th/nvim-compe"
|
||||
use "marko-cerovac/material.nvim"
|
||||
use {"ms-jpq/coq_nvim", branch="coq"}
|
||||
use {"nvim-treesitter/nvim-treesitter", run=":TSUpdate"}
|
||||
use "akinsho/nvim-toggleterm.lua"
|
||||
-- LaTeX editing
|
||||
use "lervag/vimtex"
|
||||
end)
|
||||
|
||||
|
||||
-- =====PLUGIN CONFIGS=====
|
||||
g.coq_settings = {auto_start = "shut-up"}
|
||||
|
||||
-- ctrlpvim/ctrlp.vim
|
||||
g.ctrlp_map = "<leader>t"
|
||||
g.ctrlp_use_caching = 1
|
||||
g.ctrlp_clear_cache_on_exit = 0
|
||||
g.ctrlp_cache_dir = "./.vim/cache/ctrlp"
|
||||
g.ctrlp_user_command = {
|
||||
'.git', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'
|
||||
-- Pre-configured LSP stuff
|
||||
use {
|
||||
"neovim/nvim-lspconfig",
|
||||
config = [[require('config.lspconfig')]]
|
||||
}
|
||||
|
||||
--Limit max number of files
|
||||
--This prevents me from indexing my entire HOME by accident
|
||||
g.ctrlp_max_files = 10000
|
||||
--Also limit recursion depth
|
||||
g.ctrlp_max_depth = 40
|
||||
|
||||
-- tpope/vim-fugitive
|
||||
nmap("<leader>gg", ":Git<CR>")
|
||||
nmap("<leader>gc", ":Git commit<CR>")
|
||||
nmap("<leader>gp", ":Git push<CR>")
|
||||
nmap("<leader>gd", ":Gdiffsplit!<CR>")
|
||||
nmap("<leader>gm", ":Git mergetool<CR>")
|
||||
nmap("<leader>gb", ":Git blame<CR>")
|
||||
|
||||
-- airblade/vim-gitgutter
|
||||
g.gitgutter_map_keys = 0
|
||||
|
||||
-- indentline
|
||||
g.indentLine_char_list = {'|', '¦', '┆', '┊'}
|
||||
|
||||
-- preservim/nerdtree
|
||||
g.NERDTreeIgnore = {
|
||||
'^\\.vim$[[dir]]',
|
||||
'^\\.vscode$[[dir]]', '.*\\.code-workspace$[[file]]', '^\\.idea$[[dir]]',
|
||||
'^__pycache__$[[dir]]', '^\\.pytest_cache$[[dir]]', '^venv$[[dir]]',
|
||||
'\\.egg-info$[[dir]]', '^dist$[[dir]]', '^build$[[dir]]',
|
||||
'^\\.eggs$[[dir]]',
|
||||
'^out$[[dir]]',
|
||||
'^\\.git$[[dir]]',
|
||||
'^\\.stack-work$[[dir]]', '\\.lock$',
|
||||
'^CMakeFiles$[[dir]]', '^CMakeCache.txt$[[file]]',
|
||||
'.pdf$[[file]]',
|
||||
'^node_modules$[[dir]]'
|
||||
}
|
||||
|
||||
g.NERDTreeShowHidden = 1
|
||||
g.NERDTreeMinimalUI = 1
|
||||
g.NERDTreeDirArrows = 1
|
||||
g.NERDTreeQuitOnOpen = 1
|
||||
g.NERDTreeChDirMode = 0
|
||||
g.NERDTreeNaturalSort = 1
|
||||
g.NERDTreeShowFiles = 1
|
||||
g.NERDTreeShowLineNumbers = 0
|
||||
g.NERDTreeWinPos = 'left'
|
||||
g.NERDTreeMinimalMenu = 1
|
||||
g.NERDTreeAutoDeleteBuffer = 1
|
||||
|
||||
nmap("tt", ":NERDTreeFind<CR>")
|
||||
|
||||
-- majutsushi/tagbar
|
||||
g.tagbar_map_nexttag = "J"
|
||||
g.tagbar_map_prevtag = "K"
|
||||
g.tagbar_map_showproto = "u"
|
||||
g.tagbar_sort = 0
|
||||
g.tagbar_compact = 1
|
||||
g.tagbar_autoshowtag = 1
|
||||
g.no_status_line = 1
|
||||
g.tagbar_autoclose = 1
|
||||
|
||||
nmap("tr", ":TagbarToggle<CR>")
|
||||
|
||||
-- neovim/neovim-lspconfig
|
||||
local function on_attach(client, bufnr)
|
||||
local opts = {
|
||||
silent = true,
|
||||
noremap = true,
|
||||
}
|
||||
local function buf_nmap(mapping, cmd) vim.api.nvim_buf_set_keymap(bufnr, "n", mapping, cmd, opts) end
|
||||
|
||||
-- Jump to definition
|
||||
buf_nmap("gd", "<Cmd>lua vim.lsp.buf.definition()<CR>")
|
||||
-- Format current buffer on write
|
||||
vim.api.nvim_command([[autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_seq_sync()]])
|
||||
-- Show diagnostics for current line
|
||||
buf_nmap("<leader>dd", "<Cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>")
|
||||
-- Jump between diagnostic messages
|
||||
buf_nmap("<leader>dj", "<Cmd>lua vim.lsp.diagnostic.goto_next()<CR>")
|
||||
buf_nmap("<leader>dk", "<Cmd>lua vim.lsp.diagnostic.goto_previous()<CR>")
|
||||
-- Rename symbol under cursor
|
||||
buf_nmap("<leader>dr", "<Cmd>lua vim.lsp.buf.rename()<CR>")
|
||||
-- Show hover info
|
||||
buf_nmap("<leader>df", "<Cmd>lua vim.lsp.buf.hover()<CR>")
|
||||
end
|
||||
|
||||
-- Comes with clang
|
||||
require'lspconfig'.clangd.setup{on_attach = on_attach}
|
||||
-- NPM: dockerfile-language-server-nodejs
|
||||
require'lspconfig'.dockerls.setup{}
|
||||
-- Pacman: haskell-language-server
|
||||
-- AUR: haskell-language-server-bin
|
||||
-- GH: https://github.com/haskell/haskell-language-server
|
||||
require'lspconfig'.hls.setup{
|
||||
on_attach = on_attach,
|
||||
settings = {
|
||||
haskell = {
|
||||
formattingProvider = "stylish-haskell"
|
||||
}
|
||||
}
|
||||
}
|
||||
-- Pacman: rust-analyzer
|
||||
-- GH: https://github.com/rust-analyzer/rust-analyzer
|
||||
require'lspconfig'.rust_analyzer.setup{on_attach = on_attach}
|
||||
-- Installed using R shell:
|
||||
-- `install.packages('languageserver')`
|
||||
-- GH: https://github.com/REditorSupport/languageserver
|
||||
require'lspconfig'.r_language_server.setup{}
|
||||
|
||||
-- material
|
||||
-- require('material').set()
|
||||
-- colorscheme matieral
|
||||
-- vim.o.colors_name = "material"
|
||||
-- Beautiful treesitter-compatible theme
|
||||
use {
|
||||
"marko-cerovac/material.nvim",
|
||||
config = function()
|
||||
vim.cmd("colorscheme material")
|
||||
-- color material
|
||||
nmap("<leader>c", [[<Cmd>lua require('material.functions').toggle_style()<CR>]])
|
||||
|
||||
-- nvim-lua/completion-nvim
|
||||
--Use <Tab> and <S-Tab> to navigate through popup menu
|
||||
vim.api.nvim_set_keymap("i", "<Tab>", 'pumvisible() ? "\\<C-n>" : "\\<Tab>"', {
|
||||
expr = true
|
||||
})
|
||||
vim.api.nvim_set_keymap("i", "<S-Tab>", 'pumvisible() ? "\\<C-p>" : "\\<S-Tab>"', {
|
||||
expr = true
|
||||
})
|
||||
|
||||
--Set completeopt to have a better completion experience
|
||||
vim.o.completeopt = "menuone,noinsert,noselect"
|
||||
|
||||
--Avoid showing message extra message when using completion
|
||||
vim.o.shortmess = vim.o.shortmess .. "c"
|
||||
|
||||
vim.g.completion_chain_complete_list = {
|
||||
default = {
|
||||
{ complete_items = { 'lsp', "buffer", "buffers" } },
|
||||
{ mode = { '<c-p>' } },
|
||||
{ mode = { '<c-n>' } }
|
||||
},
|
||||
end
|
||||
}
|
||||
|
||||
require"nvim-treesitter.configs".setup {
|
||||
highlight = { enable = true }
|
||||
-- Autocomplete engine
|
||||
use {
|
||||
"ms-jpq/coq_nvim",
|
||||
branch = "coq",
|
||||
config = [[require('config.coq')]]
|
||||
}
|
||||
|
||||
vim.o.hidden = true
|
||||
require("toggleterm").setup {
|
||||
-- open_mapping = "<leader>r",
|
||||
direction = "float",
|
||||
insert_mappings = false,
|
||||
start_in_insert = false
|
||||
-- Better syntax highlighting
|
||||
use {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
run = ":TSUpdate",
|
||||
config = [[require('config.treesitter')]]
|
||||
}
|
||||
|
||||
nmap("<leader>rr", ":ToggleTerm<CR>")
|
||||
nmap("<leader>ry", ":1ToggleTerm<CR>")
|
||||
nmap("<leader>ru", ":2ToggleTerm<CR>")
|
||||
nmap("<leader>ri", ":3ToggleTerm<CR>")
|
||||
nmap("<leader>ro", ":4ToggleTerm<CR>")
|
||||
nmap("<leader>rp", ":5ToggleTerm<CR>")
|
||||
-- Toggleable terminals
|
||||
use {
|
||||
"akinsho/nvim-toggleterm.lua",
|
||||
config = [[require('config.toggleterm')]]
|
||||
}
|
||||
|
||||
-- LaTeX editing
|
||||
use "lervag/vimtex"
|
||||
|
||||
-- V support
|
||||
use {
|
||||
"ollykel/v-vim",
|
||||
config = [[require('config.v')]]
|
||||
}
|
||||
|
||||
if packer_bootstrap then
|
||||
require('packer').sync()
|
||||
end
|
||||
end)
|
||||
|
|
|
@ -37,15 +37,18 @@ o.smartcase = true
|
|||
-- Don't highlight search results after search is finished
|
||||
o.hlsearch = false
|
||||
|
||||
local swap_dir = vim.fn.stdpath('data') .. '/swap'
|
||||
local undo_dir = vim.fn.stdpath('data') .. '/undo'
|
||||
|
||||
-- Create swap files
|
||||
o.swapfile = true
|
||||
-- Where to store the swap files; I store mine in the current directory
|
||||
o.directory = "./.vim/swap//"
|
||||
o.directory = swap_dir
|
||||
|
||||
o.backup = false
|
||||
|
||||
o.undofile = true
|
||||
o.undodir = "./.vim/undo//"
|
||||
o.undodir = undo_dir
|
||||
|
||||
o.updatetime = 250
|
||||
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
<<<<<<< Updated upstream
|
||||
set -s escape-time 0
|
||||
=======
|
||||
# Change prefix to Ctrl-a
|
||||
unbind C-b
|
||||
set -g prefix C-a
|
||||
|
@ -24,4 +21,3 @@ bind h select-pane -L
|
|||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
>>>>>>> Stashed changes
|
||||
|
|
Loading…
Reference in New Issue