Compare commits
2 Commits
86ae0c9513
...
6a15552112
Author | SHA1 | Date | |
---|---|---|---|
6a15552112 | |||
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>
|
||||||
|
|
67
nvim/.config/nvim/general/settings.vim
Normal file
67
nvim/.config/nvim/general/settings.vim
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
" 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
|
||||||
|
set completeopt=menuone,noselect
|
||||||
|
|
||||||
|
" Avoid showing message extra message when using completion
|
||||||
|
set shortmess+=c
|
15
nvim/.config/nvim/init.vim
Normal file
15
nvim/.config/nvim/init.vim
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
source $HOME/.config/nvim/plugins/plugins.vim
|
||||||
|
source $HOME/.config/nvim/general/settings.vim
|
||||||
|
source $HOME/.config/nvim/general/mappings.vim
|
||||||
|
" source $HOME/.confia/vim/general/completion.vim
|
||||||
|
|
||||||
|
source $HOME/.config/nvim/plugins/lightline.vim
|
||||||
|
source $HOME/.config/nvim/plugins/nvim-comp.vim
|
||||||
|
|
||||||
|
lua <<EOF
|
||||||
|
require("lsp")
|
||||||
|
EOF
|
||||||
|
|
||||||
|
" bug fix with telescope and insert mode https://GitHub.com/vim telescope/telescope.vim/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/plugins/lightline.vim
Normal file
10
nvim/.config/nvim/plugins/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'
|
||||||
|
\ },
|
||||||
|
\ }
|
53
nvim/.config/nvim/plugins/nvim-comp.vim
Normal file
53
nvim/.config/nvim/plugins/nvim-comp.vim
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
let g:compe = {}
|
||||||
|
let g:compe.enabled = v:true
|
||||||
|
let g:compe.autocomplete = v:true
|
||||||
|
let g:compe.debug = v:false
|
||||||
|
let g:compe.min_length = 1
|
||||||
|
let g:compe.preselect = 'enable'
|
||||||
|
let g:compe.throttle_time = 80
|
||||||
|
let g:compe.source_timeout = 200
|
||||||
|
let g:compe.resolve_timeout = 800
|
||||||
|
let g:compe.incomplete_delay = 400
|
||||||
|
let g:compe.max_abbr_width = 100
|
||||||
|
let g:compe.max_kind_width = 100
|
||||||
|
let g:compe.max_menu_width = 100
|
||||||
|
let g:compe.documentation = v:true
|
||||||
|
|
||||||
|
let g:compe.source = {}
|
||||||
|
let g:compe.source.path = v:true
|
||||||
|
let g:compe.source.buffer = v:true
|
||||||
|
let g:compe.source.calc = v:true
|
||||||
|
let g:compe.source.nvim_lsp = v:true
|
||||||
|
let g:compe.source.nvim_lua = v:true
|
||||||
|
let g:compe.source.vsnip = v:true
|
||||||
|
let g:compe.source.ultisnips = v:true
|
||||||
|
let g:compe.source.luasnip = v:true
|
||||||
|
let g:compe.source.emoji = v:false
|
||||||
|
|
||||||
|
" NOTE: You can use other key to expand snippet.
|
||||||
|
|
||||||
|
" Expand
|
||||||
|
imap <expr> <C-j> vsnip#expandable() ? '<Plug>(vsnip-expand)' : '<C-j>'
|
||||||
|
smap <expr> <C-j> vsnip#expandable() ? '<Plug>(vsnip-expand)' : '<C-j>'
|
||||||
|
|
||||||
|
" Expand or jump
|
||||||
|
imap <expr> <C-l> vsnip#available(1) ? '<Plug>(vsnip-expand-or-jump)' : '<C-l>'
|
||||||
|
smap <expr> <C-l> vsnip#available(1) ? '<Plug>(vsnip-expand-or-jump)' : '<C-l>'
|
||||||
|
|
||||||
|
" Jump forward or backward
|
||||||
|
imap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
|
||||||
|
smap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
|
||||||
|
imap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
|
||||||
|
smap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
|
||||||
|
|
||||||
|
" Select or cut text to use as $TM_SELECTED_TEXT in the next snippet.
|
||||||
|
" See https://github.com/hrsh7th/vim-vsnip/pull/50
|
||||||
|
nmap s <Plug>(vsnip-select-text)
|
||||||
|
xmap s <Plug>(vsnip-select-text)
|
||||||
|
nmap S <Plug>(vsnip-cut-text)
|
||||||
|
xmap S <Plug>(vsnip-cut-text)
|
||||||
|
|
||||||
|
" " If you want to use snippet for multiple filetypes, you can `g:vsnip_filetypes` for it.
|
||||||
|
" let g:vsnip_filetypes = {}
|
||||||
|
" let g:vsnip_filetypes.javascriptreact = ['javascript']
|
||||||
|
" let g:vsnip_filetypes.typescriptreact = ['typescript']
|
43
nvim/.config/nvim/plugins/plugins.vim
Normal file
43
nvim/.config/nvim/plugins/plugins.vim
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
" 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 'hrsh7th/vim-vsnip'
|
||||||
|
Plug 'hrsh7th/vim-vsnip-integ'
|
||||||
|
" 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()
|
25
nvim/.config/nvim/plugins/vimtex.vim
Normal file
25
nvim/.config/nvim/plugins/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
|
Loading…
Reference in New Issue
Block a user