Feat: import nvim config
This commit is contained in:
parent
86ae0c9513
commit
b99646214f
18
nvim/.config/nvim/general/completion.vim
Normal file
18
nvim/.config/nvim/general/completion.vim
Normal file
@ -0,0 +1,18 @@
|
||||
" Use completion-nvim in every buffer
|
||||
autocmd BufEnter * lua require'completion'.on_attach()
|
||||
|
||||
let g:completion_enable_snippet = 'UltiSnips'
|
||||
let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy']
|
||||
|
||||
" Use <Tab> and <S-Tab> to navigate through popup menu
|
||||
" inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
|
||||
" inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
|
||||
|
||||
"map <c-p> to manually trigger completion
|
||||
"imap <silent> <c-p> <Plug>(completion_trigger)
|
||||
|
||||
" Set completeopt to have a better completion experience
|
||||
set completeopt=menuone,noinsert,noselect
|
||||
|
||||
" Avoid showing message extra message when using completion
|
||||
set shortmess+=c
|
19
nvim/.config/nvim/general/mappings.vim
Normal file
19
nvim/.config/nvim/general/mappings.vim
Normal file
@ -0,0 +1,19 @@
|
||||
" Better window navigation
|
||||
" nnoremap <C-h> <C-w>h
|
||||
" nnoremap <C-j> <C-w>j
|
||||
" nnoremap <C-k> <C-w>k
|
||||
" nnoremap <C-l> <C-w>l
|
||||
|
||||
" Align blocks of text and keep them selected
|
||||
vmap < <gv
|
||||
vmap > >gv
|
||||
|
||||
" Automatically spell check last error in insert mode
|
||||
inoremap <c-f> <c-g>u<Esc>[s1z=`]a<c-g>u
|
||||
|
||||
" Find files using Telescope command-line sugar.
|
||||
nnoremap <leader>e <cmd>Telescope find_files<cr>
|
||||
nnoremap <leader>g <cmd>Telescope live_grep<cr>
|
||||
nnoremap <leader>b <cmd>Telescope buffers<cr>
|
||||
nnoremap <leader>h <cmd>Telescope help_tags<cr>
|
||||
|
66
nvim/.config/nvim/general/settings.vim
Normal file
66
nvim/.config/nvim/general/settings.vim
Normal file
@ -0,0 +1,66 @@
|
||||
" set leader key
|
||||
let g:mapleader = "\<Space>"
|
||||
|
||||
syntax enable " Enables syntax highlighing
|
||||
set hidden " Required to keep multiple buffers open multiple buffers
|
||||
set wrap " Display long lines as just one line
|
||||
set pumheight=10 " Makes popup menu smaller
|
||||
set encoding=utf-8 " The encoding displayed
|
||||
set fileencoding=utf-8 " The encoding written to file
|
||||
set ruler " Show the cursor position all the time
|
||||
set cmdheight=1 " More space for displaying messages
|
||||
set iskeyword+=- " treat dash separated words as a word text object"
|
||||
set mouse=a " Enable your mouse
|
||||
set t_Co=256 " Support 256 colors
|
||||
|
||||
set conceallevel=0 " So that I can see `` in markdown files
|
||||
set tabstop=4 " Insert 2 spaces for a tab
|
||||
set shiftwidth=4 " Change the number of space characters inserted for indentation
|
||||
set smarttab " Makes tabbing smarter will realize you have 2 vs 4
|
||||
set expandtab " Converts tabs to spaces
|
||||
set smartindent " Makes indenting smart
|
||||
set autoindent " Good auto indent
|
||||
set foldmethod=indent
|
||||
|
||||
set laststatus=2 " Always display the status line
|
||||
|
||||
set number " Line number
|
||||
set relativenumber " Relative line number
|
||||
set cursorline " Enable highlighting of the current line
|
||||
set showtabline=1 " show tabs only when there are some
|
||||
|
||||
set background=dark " tell vim what the background color looks like
|
||||
|
||||
set nobackup " This is recommended by coc
|
||||
set nowritebackup " This is recommended by coc
|
||||
set noswapfile
|
||||
|
||||
set updatetime=300 " Faster completion
|
||||
set timeoutlen=500 " By default timeoutlen is 1000 ms
|
||||
|
||||
set clipboard=unnamedplus " Copy paste between vim and everything else
|
||||
|
||||
set showmode " Display edition mode
|
||||
"set noshowmode " We don't need to see things like -- INSERT -- anymore
|
||||
|
||||
set incsearch " hightlight while searching
|
||||
set ignorecase " Ignore case while searching
|
||||
set smartcase " Override ignorecase if search patern contains upper case
|
||||
set wildmenu " Enable wildmenu
|
||||
|
||||
set spell " Enable spell checking
|
||||
set spelllang=fr,en
|
||||
|
||||
set nrformats+=alpha " letter concidered as number for Ctrl-A or Ctrl-X
|
||||
|
||||
"set autochdir " Your working directory will always be the same as your working directory
|
||||
|
||||
execute "set colorcolumn=" . join(range(81,335), ',')
|
||||
|
||||
colorscheme zenburn
|
||||
|
||||
" Set completeopt to have a better completion experience
|
||||
set completeopt=menuone,noinsert,noselect
|
||||
|
||||
" Avoid showing message extra message when using completion
|
||||
set shortmess+=c
|
14
nvim/.config/nvim/init.vim
Normal file
14
nvim/.config/nvim/init.vim
Normal file
@ -0,0 +1,14 @@
|
||||
source $HOME/.config/nvim/vim-plug/plugins.vim
|
||||
source $HOME/.config/nvim/general/settings.vim
|
||||
source $HOME/.config/nvim/general/mappings.vim
|
||||
source $HOME/.config/nvim/general/completion.vim
|
||||
|
||||
source $HOME/.config/nvim/plug-config/lightline.vim
|
||||
|
||||
lua <<EOF
|
||||
require("lsp")
|
||||
EOF
|
||||
|
||||
" bug fix with telescope and insert mode https://github.com/nvim-telescope/telescope.nvim/issues/82
|
||||
autocmd FileType TelescopePrompt
|
||||
\ call deoplete#custom#buffer_option('auto_complete', v:false)
|
58
nvim/.config/nvim/lua/lsp.lua
Normal file
58
nvim/.config/nvim/lua/lsp.lua
Normal file
@ -0,0 +1,58 @@
|
||||
|
||||
require'lspconfig'.pyright.setup{}
|
||||
|
||||
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
|
||||
-- See references
|
||||
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||
-- show documentation
|
||||
buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||
-- Rename
|
||||
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
|
||||
-- je sais pas ce c'est que ces workspaces
|
||||
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>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||
-- Details on diagnostics
|
||||
buf_set_keymap('n', '<space>d', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
||||
-- Cycle over diagnostics
|
||||
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)
|
||||
-- Get diagnostic on local list
|
||||
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)
|
||||
|
||||
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', '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>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||
end
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
local servers = { "pyright" }
|
||||
for _, lsp in ipairs(servers) do
|
||||
nvim_lsp[lsp].setup {
|
||||
on_attach = on_attach,
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
}
|
||||
}
|
||||
end
|
10
nvim/.config/nvim/plug-config/lightline.vim
Normal file
10
nvim/.config/nvim/plug-config/lightline.vim
Normal file
@ -0,0 +1,10 @@
|
||||
let g:lightline = {
|
||||
\ 'colorscheme': 'wombat',
|
||||
\ 'active': {
|
||||
\ 'left': [ [ 'mode', 'paste' ],
|
||||
\ [ 'gitbranch', 'readonly', 'relativepath', 'modified'] ]
|
||||
\ },
|
||||
\ 'component_function': {
|
||||
\ 'gitbranch': 'FugitiveHead'
|
||||
\ },
|
||||
\ }
|
25
nvim/.config/nvim/plug-config/vimtex.vim
Normal file
25
nvim/.config/nvim/plug-config/vimtex.vim
Normal file
@ -0,0 +1,25 @@
|
||||
let maplocalleader = "\<Space>"
|
||||
|
||||
let g:tex_conceal = ""
|
||||
set conceallevel=0
|
||||
|
||||
let g:vimtex_compiler_latexmk = {
|
||||
\ 'backend' : 'nvim',
|
||||
\ 'background' : 1,
|
||||
\ 'build_dir' : '',
|
||||
\ 'callback' : 0,
|
||||
\ 'continuous' : 1,
|
||||
\ 'options' : [
|
||||
\ '-pdf',
|
||||
\ '-verbose',
|
||||
\ '-file-line-error',
|
||||
\ '-synctex=1',
|
||||
\ '-interaction=nonstopmode',
|
||||
\ '-silent',
|
||||
\ '-shell-escape',
|
||||
\ ],
|
||||
\}
|
||||
let g:vimtex_view_method = 'zathura'
|
||||
|
||||
" Les fichiers sty et cls sont vus comme des fichiers tex
|
||||
autocmd BufRead,BufNewFile *.{sty,cls} setlocal syntax=tex
|
41
nvim/.config/nvim/vim-plug/plugins.vim
Normal file
41
nvim/.config/nvim/vim-plug/plugins.vim
Normal file
@ -0,0 +1,41 @@
|
||||
" auto-install vim-plug
|
||||
if empty(glob('~/.config/nvim/autoload/plug.vim'))
|
||||
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs
|
||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
"autocmd VimEnter * PlugInstall
|
||||
"autocmd VimEnter * PlugInstall | source $MYVIMRC
|
||||
endif
|
||||
|
||||
call plug#begin('~/.config/nvim/autoload/plugged')
|
||||
|
||||
Plug 'jnurmine/Zenburn'
|
||||
Plug 'itchyny/lightline.vim'
|
||||
|
||||
"Plug 'tpope/vim-sensible'
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'tpope/vim-surround'
|
||||
Plug 'tpope/vim-repeat'
|
||||
|
||||
Plug 'junegunn/goyo.vim'
|
||||
Plug 'christoomey/vim-tmux-navigator'
|
||||
Plug 'Yggdroot/indentLine'
|
||||
|
||||
Plug 'neovim/nvim-lspconfig'
|
||||
" Plug 'hrsh7th/nvim-compe'
|
||||
Plug 'nvim-lua/completion-nvim'
|
||||
|
||||
Plug 'nvim-lua/popup.nvim'
|
||||
Plug 'nvim-lua/plenary.nvim'
|
||||
Plug 'nvim-telescope/telescope.nvim'
|
||||
|
||||
"Plug 'lervag/vimtex'
|
||||
|
||||
Plug 'SirVer/ultisnips'
|
||||
Plug 'honza/vim-snippets'
|
||||
|
||||
Plug 'mhinz/vim-signify'
|
||||
Plug 'tpope/vim-fugitive'
|
||||
|
||||
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
||||
|
||||
call plug#end()
|
Loading…
Reference in New Issue
Block a user