Nvim: Configure plugins in after directory
Switch from fzf to telescope and filesystem to defx
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user