Nvim: Configure plugins in after directory

Switch from fzf to telescope and filesystem to defx
This commit is contained in:
Robert Kmieć
2021-07-26 00:27:45 +02:00
parent e9149f0de8
commit 4f3663d0eb
18 changed files with 324 additions and 150 deletions

View File

@@ -13,6 +13,7 @@ call plug#begin('~/.config/nvim/plugins')
" Code development helpers {{{
Plug 'neovim/nvim-lspconfig'
Plug 'glepnir/lspsaga.nvim'
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
Plug 'wellle/context.vim'
Plug 'dbeniamine/cheat.sh-vim'
@@ -20,11 +21,17 @@ Plug 'puremourning/vimspector'
Plug 'derekwyatt/vim-fswitch'
Plug 'nvim-lua/completion-nvim'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
Plug 'tpope/vim-fugitive'
" }}}
" Files switch, jump and grep-like tools {{{
Plug 'preservim/nerdtree' | Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'junegunn/fzf' | Plug 'junegunn/fzf.vim'
"Plug 'preservim/nerdtree' | Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'Shougo/defx.nvim', { 'do': ':UpdateRemotePlugins' }
"Plug 'junegunn/fzf' | Plug 'junegunn/fzf.vim'
Plug 'nvim-lua/popup.nvim'
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'fhill2/telescope-ultisnips.nvim'
Plug 'liuchengxu/vista.vim'
Plug 'inside/vim-search-pulse'
Plug 'mhinz/vim-startify'
@@ -36,7 +43,7 @@ Plug 'mhinz/vim-signify' " Mark edited lines - faster gitgutter
" }}}
" Syntax for random filetypes {{{
Plug 'masukomi/vim-markdown-folding'
"Plug 'masukomi/vim-markdown-folding'
"Plug 'weirongxu/plantuml-previewer.vim' |
Plug 'aklt/plantuml-syntax'
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}
@@ -52,7 +59,7 @@ Plug 'JMcKiern/vim-shoot'
" }}}
" Filetype syntax {{{
Plug 'plasticboy/vim-markdown'
"Plug 'plasticboy/vim-markdown'
Plug 'kergoth/vim-bitbake' " Bitbake templates and syntax
Plug 'pboettch/vim-cmake-syntax'
Plug 'aklt/plantuml-syntax'
@@ -102,6 +109,8 @@ set textwidth=80
set formatoptions+=t
set scrolloff=10
set inccommand="split"
" space one line, home,end globally increase/decrease
nnoremap <Home> zc
nnoremap <End> zo
@@ -136,10 +145,6 @@ nnoremap <leader>8 <esc>:set tabstop=8 softtabstop=8 shiftwidth=8<cr>
nnoremap <leader><space> :nohlsearch<cr>
let g:UltiSnipsExpandTrigger="<c-s>"
let g:UltiSnipsJumpForwardTrigger="<c-n>"
let g:UltiSnipsJumpBackwardTrigger="<c-p>"
" TextEdit might fail if hidden is not set.
set hidden
@@ -169,153 +174,12 @@ endif
set wildmode=longest,list,full
" yoink configuration
"nmap <leader>yp <plug>(YoinkPostPasteSwapBack)
"nmap <leader>yn <plug>(YoinkPostPasteSwapForward)
"nmap p <plug>(YoinkPaste_p)
"nmap P <plug>(YoinkPaste_P)
" Mapping to NERDTree
nnoremap <leader>t :NERDTreeToggle<CR>
let NERDTreeIgnore=['\.vim$', '\~$', '\.pyc$']
nnoremap <leader>f :FZF!<CR>
nnoremap <leader>l :Lines!<CR>
nnoremap <leader>b :Buffers<CR>
inoremap <leader>s <ESC>:Snippets!<CR>
nnoremap <leader>a :Rg! <C-R><C-W><CR>
" Disable context.vim on json files
let g:context_filetype_blacklist = ["json"]
match Error /\s\+$\|DU\cPA/
nnoremap <F6> :silent FSHere<CR>
setglobal virtualedit=block
setglobal shiftround
let g:vim_search_pulse_mode = 'pattern'
let g:vim_search_pulse_duration = 400
let g:airline_theme = 'minimalist'
let g:airline_powerline_fonts = 1
let g:airline_stl_path_style = 'short'
let g:airline_highlighting_cache = 1
let g:startify_custom_header = ''
packadd termdebug
let g:vimwiki_list = [{'path': '~/vimwiki/',
\ 'syntax': 'markdown', 'ext': '.md'}]
" Completion configuration for native neovim + nvim-lspconfig
lua << EOF
local lspconfig = require'lspconfig'
lspconfig.ccls.setup {
init_options = {
compilationDatabaseDirectory = ".";
index = {
threads = 0;
};
clang = {
excludeArgs = { "-frounding-math"} ;
};
}
}
EOF
lua << EOF
require'lspconfig'.pylsp.setup{}
EOF
lua << EOF
require'lspconfig'.cmake.setup{}
EOF
lua << EOF
require'lspconfig'.rls.setup {
settings = {
rust = {
unstable_features = true,
build_on_save = false,
all_features = true,
},
},
}
EOF
lua << EOF
local nvim_lsp = require('lspconfig')
-- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer
local on_attach = function(client, bufnr)
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
--Enable completion triggered by <c-x><c-o>
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Mappings.
local opts = { noremap=true, silent=true }
-- See `:help vim.lsp.*` for documentation on any of the below functions
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<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', '<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>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>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>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', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
require'completion'.on_attach()
end
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics, {
signs = {
severity_limit = 'Warning',
},
underline = false,
update_in_insert = false,
virtual_text = {
spacing = 40,
severity_limit = 'Warning',
},
}
)
-- Use a loop to conveniently call 'setup' on multiple servers and
-- map buffer local keybindings when the language server attaches
local servers = { "pylsp", "rls", "cmake", 'ccls' }
for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup {
on_attach = on_attach,
on_publish_diagnostics = diagnostic_handler
}
end
EOF
" Set completeopt to have a better completion experience
set completeopt=menuone,noinsert,noselect
let g:completion_enable_snippet = 'UltiSnips'
" Tree-sitter configuration
lua <<EOF
require'nvim-treesitter.configs'.setup {
highlight = {
enable = true,
},
}
EOF
packadd termdebug