vim: cleanup
This commit is contained in:
149
vim/.vimrc
149
vim/.vimrc
@@ -20,18 +20,6 @@ let mapleader=' '
|
|||||||
|
|
||||||
call plug#begin('~/.vim/plugged')
|
call plug#begin('~/.vim/plugged')
|
||||||
|
|
||||||
" ======== Languages / Textobjects =======================
|
|
||||||
|
|
||||||
" Plug 'sheerun/vim-polyglot'
|
|
||||||
Plug 'kana/vim-textobj-user'
|
|
||||||
Plug 'nelstrom/vim-textobj-rubyblock'
|
|
||||||
Plug 'austintaylor/vim-indentobject'
|
|
||||||
Plug 'lucapette/vim-textobj-underscore'
|
|
||||||
Plug 'bootleq/vim-textobj-rubysymbol'
|
|
||||||
|
|
||||||
" ======== Utility ======================================
|
|
||||||
|
|
||||||
Plug 'mattn/emmet-vim',
|
|
||||||
Plug 'scrooloose/nerdtree', { 'on': ['NERDTreeToggle', 'NERDTreeFind'] }
|
Plug 'scrooloose/nerdtree', { 'on': ['NERDTreeToggle', 'NERDTreeFind'] }
|
||||||
Plug 'junegunn/vim-easy-align', { 'on': ['<Plug>(EasyAlign)', 'EasyAlign'] }
|
Plug 'junegunn/vim-easy-align', { 'on': ['<Plug>(EasyAlign)', 'EasyAlign'] }
|
||||||
Plug 'gregsexton/MatchTag', { 'for': 'html' }
|
Plug 'gregsexton/MatchTag', { 'for': 'html' }
|
||||||
@@ -42,27 +30,16 @@ Plug 'mattn/gist-vim' | Plug 'mattn/webapi-vim'
|
|||||||
Plug 'Raimondi/delimitMate'
|
Plug 'Raimondi/delimitMate'
|
||||||
Plug 'nelstrom/vim-visual-star-search'
|
Plug 'nelstrom/vim-visual-star-search'
|
||||||
Plug 'benmills/vimux'
|
Plug 'benmills/vimux'
|
||||||
Plug 'janko-m/vim-test'
|
Plug 'vim-test/vim-test'
|
||||||
Plug 'dyng/ctrlsf.vim'
|
Plug 'dyng/ctrlsf.vim'
|
||||||
Plug 'terryma/vim-expand-region'
|
Plug 'terryma/vim-expand-region'
|
||||||
Plug 'mg979/vim-visual-multi'
|
Plug 'mg979/vim-visual-multi'
|
||||||
Plug 'bogado/file-line'
|
Plug 'bogado/file-line'
|
||||||
Plug 'vim-utils/vim-interruptless'
|
Plug 'vim-utils/vim-interruptless'
|
||||||
" Plug 'w0rp/ale'
|
|
||||||
|
|
||||||
" ======== Snippets & Autocomplete ======================
|
|
||||||
|
|
||||||
" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
|
|
||||||
|
|
||||||
" ======== Appearence ===================================
|
|
||||||
|
|
||||||
Plug 'airblade/vim-gitgutter'
|
Plug 'airblade/vim-gitgutter'
|
||||||
Plug 'machakann/vim-highlightedyank'
|
Plug 'machakann/vim-highlightedyank'
|
||||||
Plug 'arcticicestudio/nord-vim'
|
Plug 'arcticicestudio/nord-vim'
|
||||||
|
Plug 'christoomey/vim-tmux-navigator'
|
||||||
" ======== tpope <3 ====================================
|
|
||||||
|
|
||||||
" Plug 'tpope/vim-endwise'
|
|
||||||
Plug 'tpope/vim-fugitive'
|
Plug 'tpope/vim-fugitive'
|
||||||
Plug 'tpope/vim-rails', { 'for': 'ruby' }
|
Plug 'tpope/vim-rails', { 'for': 'ruby' }
|
||||||
Plug 'tpope/vim-surround'
|
Plug 'tpope/vim-surround'
|
||||||
@@ -72,8 +49,10 @@ Plug 'tpope/vim-git'
|
|||||||
Plug 'tpope/vim-vinegar'
|
Plug 'tpope/vim-vinegar'
|
||||||
Plug 'tpope/vim-rhubarb'
|
Plug 'tpope/vim-rhubarb'
|
||||||
|
|
||||||
|
" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
|
||||||
|
Plug 'L3MON4D3/LuaSnip' | Plug 'honza/vim-snippets'
|
||||||
|
|
||||||
" ======== Experimental =================================
|
" ======== Experimental =================================
|
||||||
Plug 'christoomey/vim-tmux-navigator'
|
|
||||||
|
|
||||||
" Plug 'nvim-lua/popup.nvim'
|
" Plug 'nvim-lua/popup.nvim'
|
||||||
" Plug 'nvim-lua/plenary.nvim'
|
" Plug 'nvim-lua/plenary.nvim'
|
||||||
@@ -82,9 +61,6 @@ Plug 'christoomey/vim-tmux-navigator'
|
|||||||
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
||||||
Plug 'neovim/nvim-lspconfig'
|
Plug 'neovim/nvim-lspconfig'
|
||||||
|
|
||||||
Plug 'hrsh7th/nvim-compe'
|
|
||||||
Plug 'hrsh7th/vim-vsnip'
|
|
||||||
|
|
||||||
call plug#end()
|
call plug#end()
|
||||||
|
|
||||||
|
|
||||||
@@ -178,12 +154,6 @@ let NERDTreeHijackNetrw = 1
|
|||||||
|
|
||||||
let g:highlightedyank_highlight_duration = 400
|
let g:highlightedyank_highlight_duration = 400
|
||||||
|
|
||||||
" --- Ultisnips
|
|
||||||
|
|
||||||
let g:UltiSnipsExpandTrigger = '<tab>'
|
|
||||||
let g:UltiSnipsJumpForwardTrigger = '<tab>'
|
|
||||||
let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
|
|
||||||
|
|
||||||
" --- gitgutter
|
" --- gitgutter
|
||||||
|
|
||||||
let g:gitgutter_sign_added = '│'
|
let g:gitgutter_sign_added = '│'
|
||||||
@@ -192,25 +162,6 @@ let g:gitgutter_sign_removed = '│'
|
|||||||
let g:gitgutter_sign_modified_removed = '│'
|
let g:gitgutter_sign_modified_removed = '│'
|
||||||
let g:gitgutter_sign_removed_first_line = '│'
|
let g:gitgutter_sign_removed_first_line = '│'
|
||||||
|
|
||||||
" --- ale
|
|
||||||
|
|
||||||
" let g:ale_sign_error = 'x'
|
|
||||||
" let g:ale_sign_warning = '│'
|
|
||||||
" let g:ale_echo_msg_format = '[%severity%] %s'
|
|
||||||
" let g:ale_lint_on_text_changed = 'never'
|
|
||||||
" let g:ale_lint_on_insert_leave = 0
|
|
||||||
" let g:ale_lint_delay = 0
|
|
||||||
|
|
||||||
" let g:ale_linters = {
|
|
||||||
" \ 'typescriptreact': ['tslint'],
|
|
||||||
" \ 'javascript': ['tslint'],
|
|
||||||
" \ 'typescript': ['tslint'],
|
|
||||||
" \}
|
|
||||||
|
|
||||||
" let g:ale_fixers = {
|
|
||||||
" \ 'ruby': ['rubocop'],
|
|
||||||
" \}
|
|
||||||
|
|
||||||
" --- fzf
|
" --- fzf
|
||||||
|
|
||||||
if has('nvim') || has('gui_running')
|
if has('nvim') || has('gui_running')
|
||||||
@@ -261,11 +212,6 @@ let g:gist_detect_filetype = 1
|
|||||||
let g:gist_post_private = 1
|
let g:gist_post_private = 1
|
||||||
let g:gist_show_privates = 1
|
let g:gist_show_privates = 1
|
||||||
|
|
||||||
" --- vimux
|
|
||||||
|
|
||||||
let g:vroom_use_vimux = 1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
" ========================================================
|
" ========================================================
|
||||||
" -> Autocommands
|
" -> Autocommands
|
||||||
@@ -281,6 +227,8 @@ if has("autocmd")
|
|||||||
au FileType xml setlocal equalprg=xmllint\ --format\ --recover\ -\ 2>/dev/null
|
au FileType xml setlocal equalprg=xmllint\ --format\ --recover\ -\ 2>/dev/null
|
||||||
au FileType json setlocal equalprg=python\ -m\ json.tool
|
au FileType json setlocal equalprg=python\ -m\ json.tool
|
||||||
|
|
||||||
|
au FileType markdown set wrap
|
||||||
|
|
||||||
" Hide statusline
|
" Hide statusline
|
||||||
au! FileType fzf
|
au! FileType fzf
|
||||||
au FileType fzf set laststatus=0 noshowmode noruler
|
au FileType fzf set laststatus=0 noshowmode noruler
|
||||||
@@ -447,7 +395,7 @@ nnoremap <silent><expr><leader>b (expand('%') =~ 'NERD_tree' ? "\<C-w>\<C-w>" :
|
|||||||
nnoremap <silent><expr><leader>gl (expand('%') =~ 'NERD_tree' ? "\<C-w>\<C-w>" : '').":Commits\<CR>"
|
nnoremap <silent><expr><leader>gl (expand('%') =~ 'NERD_tree' ? "\<C-w>\<C-w>" : '').":Commits\<CR>"
|
||||||
|
|
||||||
nnoremap <silent><leader>a :A<CR>
|
nnoremap <silent><leader>a :A<CR>
|
||||||
nnoremap <silent><leader>x :ALEFix<CR>
|
nnoremap <silent><leader>x <nop>
|
||||||
nnoremap <silent><leader>n :NERDTreeToggle<CR>
|
nnoremap <silent><leader>n :NERDTreeToggle<CR>
|
||||||
nnoremap <silent><leader>N :NERDTreeFind<CR>
|
nnoremap <silent><leader>N :NERDTreeFind<CR>
|
||||||
nnoremap <silent><leader>c <ESC>/\v^[<=>]{7}( .*\|$)<CR>
|
nnoremap <silent><leader>c <ESC>/\v^[<=>]{7}( .*\|$)<CR>
|
||||||
@@ -532,6 +480,7 @@ nnoremap <silent> gx :execute 'silent! !open ' . shellescape(expand('<cWORD>'),
|
|||||||
lua <<EOF
|
lua <<EOF
|
||||||
require'nvim-treesitter.configs'.setup {
|
require'nvim-treesitter.configs'.setup {
|
||||||
ensure_installed = "maintained", -- one of "all", "maintained" (parsers with maintainers), or a list of languages
|
ensure_installed = "maintained", -- one of "all", "maintained" (parsers with maintainers), or a list of languages
|
||||||
|
ignore_install = { "norg" },
|
||||||
highlight = { enable = true },
|
highlight = { enable = true },
|
||||||
indent = { enable = true },
|
indent = { enable = true },
|
||||||
autopairs = { enable = true },
|
autopairs = { enable = true },
|
||||||
@@ -560,10 +509,10 @@ local on_attach = function(client, bufnr)
|
|||||||
buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||||
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||||
-- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
-- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
-- buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
-- buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
-- buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
-- buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||||
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||||
@@ -586,38 +535,26 @@ for _, lsp in ipairs(servers) do
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
EOF
|
|
||||||
|
|
||||||
lua << EOF
|
|
||||||
vim.o.completeopt = "menuone,noselect"
|
|
||||||
|
|
||||||
require'compe'.setup {
|
|
||||||
enabled = true;
|
|
||||||
autocomplete = true;
|
|
||||||
debug = false;
|
|
||||||
min_length = 1;
|
|
||||||
preselect = 'enable';
|
|
||||||
throttle_time = 80;
|
|
||||||
source_timeout = 200;
|
|
||||||
incomplete_delay = 400;
|
|
||||||
max_abbr_width = 100;
|
|
||||||
max_kind_width = 100;
|
|
||||||
max_menu_width = 100;
|
|
||||||
documentation = false;
|
|
||||||
|
|
||||||
source = {
|
|
||||||
path = true;
|
|
||||||
buffer = true;
|
|
||||||
calc = true;
|
|
||||||
vsnip = true;
|
|
||||||
nvim_lsp = true;
|
|
||||||
nvim_lua = true;
|
require("luasnip.loaders.from_snipmate").load()
|
||||||
spell = true;
|
|
||||||
tags = true;
|
local function prequire(...)
|
||||||
snippets_nvim = true;
|
local status, lib = pcall(require, ...)
|
||||||
treesitter = true;
|
if (status) then return lib end
|
||||||
};
|
return nil
|
||||||
}
|
end
|
||||||
|
|
||||||
|
local luasnip = prequire('luasnip')
|
||||||
|
local cmp = prequire("cmp")
|
||||||
|
|
||||||
local t = function(str)
|
local t = function(str)
|
||||||
return vim.api.nvim_replace_termcodes(str, true, true, true)
|
return vim.api.nvim_replace_termcodes(str, true, true, true)
|
||||||
end
|
end
|
||||||
@@ -631,33 +568,33 @@ local check_back_space = function()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Use (s-)tab to:
|
|
||||||
--- move to prev/next item in completion menuone
|
|
||||||
--- jump to prev/next snippet's placeholder
|
|
||||||
_G.tab_complete = function()
|
_G.tab_complete = function()
|
||||||
if vim.fn.pumvisible() == 1 then
|
if cmp and cmp.visible() then
|
||||||
return t "<C-n>"
|
cmp.select_next_item()
|
||||||
elseif vim.fn.call("vsnip#available", {1}) == 1 then
|
elseif luasnip and luasnip.expand_or_jumpable() then
|
||||||
return t "<Plug>(vsnip-expand-or-jump)"
|
return t("<Plug>luasnip-expand-or-jump")
|
||||||
elseif check_back_space() then
|
elseif check_back_space() then
|
||||||
return t "<Tab>"
|
return t "<Tab>"
|
||||||
else
|
else
|
||||||
return vim.fn['compe#complete']()
|
cmp.complete()
|
||||||
end
|
end
|
||||||
|
return ""
|
||||||
end
|
end
|
||||||
_G.s_tab_complete = function()
|
_G.s_tab_complete = function()
|
||||||
if vim.fn.pumvisible() == 1 then
|
if cmp and cmp.visible() then
|
||||||
return t "<C-p>"
|
cmp.select_prev_item()
|
||||||
elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
|
elseif luasnip and luasnip.jumpable(-1) then
|
||||||
return t "<Plug>(vsnip-jump-prev)"
|
return t("<Plug>luasnip-jump-prev")
|
||||||
else
|
else
|
||||||
-- If <S-Tab> is not working in your terminal, change it to <C-h>
|
|
||||||
return t "<S-Tab>"
|
return t "<S-Tab>"
|
||||||
end
|
end
|
||||||
|
return ""
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
|
vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
|
||||||
vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
|
vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
|
||||||
vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
||||||
vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
||||||
|
vim.api.nvim_set_keymap("i", "<C-E>", "<Plug>luasnip-next-choice", {})
|
||||||
|
vim.api.nvim_set_keymap("s", "<C-E>", "<Plug>luasnip-next-choice", {})
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
Reference in New Issue
Block a user