2022-12-15 12:58:53 +01:00
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Vim-Plug core
|
|
|
|
|
"*****************************************************************************
|
2022-12-25 19:19:25 +01:00
|
|
|
|
let vimplug_exists = expand('~/.config/nvim/autoload/plug.vim')
|
|
|
|
|
let curl_exists = expand('curl')
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
if !filereadable(vimplug_exists)
|
|
|
|
|
if !executable(curl_exists)
|
|
|
|
|
echoerr "You have to install curl or first install vim-plug yourself!"
|
|
|
|
|
execute "q!"
|
|
|
|
|
endif
|
|
|
|
|
echo "Installing Vim-Plug..."
|
|
|
|
|
echo ""
|
|
|
|
|
silent exec "!"curl_exists" -fLo " . shellescape(vimplug_exists) . " --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
|
|
|
|
|
let g:not_finish_vimplug = "yes"
|
|
|
|
|
|
|
|
|
|
autocmd VimEnter * PlugInstall
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
" Required:
|
|
|
|
|
call plug#begin(expand('~/.config/nvim/plugged'))
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Plug install packages
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
Plug 'tpope/vim-commentary'
|
|
|
|
|
Plug 'tpope/vim-fugitive'
|
|
|
|
|
Plug 'vim-airline/vim-airline'
|
|
|
|
|
Plug 'vim-airline/vim-airline-themes'
|
|
|
|
|
Plug 'airblade/vim-gitgutter'
|
|
|
|
|
Plug 'vim-scripts/grep.vim'
|
|
|
|
|
Plug 'Raimondi/delimitMate'
|
|
|
|
|
Plug 'Yggdroot/indentLine'
|
|
|
|
|
Plug 'tpope/vim-rhubarb' " required by fugitive to :Gbrowse
|
|
|
|
|
Plug 'dracula/vim', { 'as': 'dracula' }
|
|
|
|
|
Plug 'editorconfig/editorconfig-vim'
|
|
|
|
|
|
|
|
|
|
if isdirectory('/usr/local/opt/fzf')
|
|
|
|
|
Plug '/usr/local/opt/fzf' | Plug 'junegunn/fzf.vim'
|
|
|
|
|
else
|
|
|
|
|
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --bin' }
|
|
|
|
|
Plug 'junegunn/fzf.vim'
|
|
|
|
|
endif
|
2023-01-01 19:17:31 +01:00
|
|
|
|
Plug 'Shougo/vimproc.vim', {'do': 'make'}
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Vim-Session
|
|
|
|
|
Plug 'xolox/vim-misc'
|
|
|
|
|
Plug 'xolox/vim-session'
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Custom bundles
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
|
|
|
|
|
" C
|
|
|
|
|
Plug 'vim-scripts/c.vim', {'for': ['c', 'cpp']}
|
|
|
|
|
Plug 'ludwig/split-manpage.vim'
|
|
|
|
|
|
|
|
|
|
" HTML
|
|
|
|
|
Plug 'hail2u/vim-css3-syntax'
|
|
|
|
|
Plug 'gko/vim-coloresque'
|
|
|
|
|
Plug 'tpope/vim-haml'
|
|
|
|
|
Plug 'mattn/emmet-vim'
|
|
|
|
|
|
|
|
|
|
" JavaScript
|
|
|
|
|
Plug 'jelera/vim-javascript-syntax'
|
|
|
|
|
|
|
|
|
|
" Perl
|
|
|
|
|
Plug 'vim-perl/vim-perl'
|
|
|
|
|
Plug 'c9s/perlomni.vim'
|
|
|
|
|
|
|
|
|
|
" Python
|
|
|
|
|
Plug 'davidhalter/jedi-vim'
|
|
|
|
|
Plug 'raimon49/requirements.txt.vim', {'for': 'requirements'}
|
|
|
|
|
|
|
|
|
|
" Rust
|
|
|
|
|
Plug 'racer-rust/vim-racer'
|
|
|
|
|
Plug 'rust-lang/rust.vim'
|
|
|
|
|
|
|
|
|
|
" Async.vim
|
|
|
|
|
Plug 'prabirshrestha/async.vim'
|
|
|
|
|
|
|
|
|
|
" Vim lsp
|
|
|
|
|
Plug 'prabirshrestha/vim-lsp'
|
|
|
|
|
|
|
|
|
|
" Asyncomplete.vim
|
|
|
|
|
Plug 'prabirshrestha/asyncomplete.vim'
|
|
|
|
|
|
|
|
|
|
" Asyncomplete lsp.vim
|
|
|
|
|
Plug 'prabirshrestha/asyncomplete-lsp.vim'
|
|
|
|
|
|
|
|
|
|
call plug#end()
|
|
|
|
|
|
|
|
|
|
" Required:
|
|
|
|
|
filetype plugin indent on
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Basic Setup
|
|
|
|
|
"*****************************************************************************"
|
|
|
|
|
"" Encoding
|
|
|
|
|
set encoding=utf-8
|
|
|
|
|
set fileencoding=utf-8
|
|
|
|
|
set fileencodings=utf-8
|
|
|
|
|
|
|
|
|
|
"" Fix backspace indent
|
|
|
|
|
set backspace=indent,eol,start
|
|
|
|
|
|
|
|
|
|
"" Tabs. May be overridden by autocmd rules
|
|
|
|
|
set tabstop=4
|
|
|
|
|
set softtabstop=0
|
|
|
|
|
set shiftwidth=4
|
|
|
|
|
set expandtab
|
|
|
|
|
|
|
|
|
|
"" Map leader to ,
|
|
|
|
|
let mapleader=','
|
|
|
|
|
|
|
|
|
|
"" Enable hidden buffers
|
|
|
|
|
set hidden
|
|
|
|
|
|
|
|
|
|
"" Searching
|
|
|
|
|
set hlsearch
|
|
|
|
|
set incsearch
|
|
|
|
|
set ignorecase
|
|
|
|
|
set smartcase
|
|
|
|
|
|
|
|
|
|
set fileformats=unix,dos,mac
|
|
|
|
|
|
|
|
|
|
if exists('$SHELL')
|
2022-12-25 19:19:25 +01:00
|
|
|
|
set shell=$SHELL
|
2022-12-15 12:58:53 +01:00
|
|
|
|
else
|
2022-12-25 19:19:25 +01:00
|
|
|
|
set shell=/bin/sh
|
2022-12-15 12:58:53 +01:00
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
" session management
|
|
|
|
|
let g:session_directory = "~/.config/nvim/session"
|
|
|
|
|
let g:session_autoload = "no"
|
|
|
|
|
let g:session_autosave = "no"
|
|
|
|
|
let g:session_command_aliases = 1
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Visual Settings
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
syntax on
|
|
|
|
|
set ruler
|
|
|
|
|
set number
|
|
|
|
|
|
|
|
|
|
let no_buffers_menu=1
|
|
|
|
|
let g:dracula_colorterm = 0
|
|
|
|
|
colorscheme dracula
|
|
|
|
|
|
|
|
|
|
" Better command line completion
|
|
|
|
|
set wildmenu
|
|
|
|
|
|
|
|
|
|
" mouse support
|
|
|
|
|
set mouse=a
|
|
|
|
|
|
|
|
|
|
set mousemodel=popup
|
|
|
|
|
set t_Co=256
|
|
|
|
|
|
|
|
|
|
let g:CSApprox_loaded = 1
|
|
|
|
|
|
|
|
|
|
" IndentLine
|
|
|
|
|
let g:indentLine_enabled = 1
|
|
|
|
|
let g:indentLine_concealcursor = ''
|
|
|
|
|
let g:indentLine_char = '┆'
|
|
|
|
|
let g:indentLine_faster = 1
|
|
|
|
|
|
|
|
|
|
"" Disable the blinking cursor.
|
|
|
|
|
set gcr=a:blinkon0
|
|
|
|
|
|
|
|
|
|
au TermEnter * setlocal scrolloff=0
|
|
|
|
|
au TermLeave * setlocal scrolloff=3
|
|
|
|
|
|
|
|
|
|
"" Status bar
|
|
|
|
|
set laststatus=2
|
|
|
|
|
|
|
|
|
|
"" Use modeline overrides
|
|
|
|
|
set modeline
|
|
|
|
|
set modelines=10
|
|
|
|
|
|
|
|
|
|
set title
|
|
|
|
|
set titleold="Terminal"
|
|
|
|
|
set titlestring=%F
|
|
|
|
|
|
|
|
|
|
set statusline=%F%m%r%h%w%=(%{&ff}/%Y)\ (line\ %l\/%L,\ col\ %c)\
|
|
|
|
|
|
|
|
|
|
" Search mappings: These will make it so that going to the next one in a
|
|
|
|
|
" search will center on the line it's found in.
|
2022-12-25 19:19:25 +01:00
|
|
|
|
nnoremap l nzzzv
|
|
|
|
|
nnoremap L nzzzv
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
2022-12-29 16:15:40 +01:00
|
|
|
|
set colorcolumn=80,100,120
|
|
|
|
|
|
2022-12-15 12:58:53 +01:00
|
|
|
|
if exists("*fugitive#statusline")
|
|
|
|
|
set statusline+=%{fugitive#statusline()}
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
" vim-airline
|
|
|
|
|
let g:airline_theme = 'powerlineish'
|
|
|
|
|
let g:airline#extensions#branch#enabled = 1
|
|
|
|
|
let g:airline#extensions#tabline#enabled = 1
|
|
|
|
|
let g:airline_skip_empty_sections = 1
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Abbreviations
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" no one is really happy until you have this shortcuts
|
|
|
|
|
cnoreabbrev W! w!
|
|
|
|
|
cnoreabbrev Q! q!
|
|
|
|
|
cnoreabbrev Qall! qall!
|
|
|
|
|
cnoreabbrev Wq wq
|
|
|
|
|
cnoreabbrev Wa wa
|
|
|
|
|
cnoreabbrev wQ wq
|
|
|
|
|
cnoreabbrev WQ wq
|
|
|
|
|
cnoreabbrev W w
|
|
|
|
|
cnoreabbrev Q q
|
|
|
|
|
cnoreabbrev Qall qall
|
|
|
|
|
|
|
|
|
|
set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.db,*.sqlite,*node_modules/
|
|
|
|
|
|
|
|
|
|
" grep.vim
|
2022-12-25 19:19:25 +01:00
|
|
|
|
nnoremap <silent> <leader>f :Rgrep<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
let Grep_Default_Options = '-IR'
|
|
|
|
|
let Grep_Skip_Files = '*.log *.db'
|
|
|
|
|
let Grep_Skip_Dirs = '.git node_modules'
|
|
|
|
|
|
|
|
|
|
" terminal emulation
|
2022-12-25 19:19:25 +01:00
|
|
|
|
nnoremap <silent> <leader>sh :terminal<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Functions
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
if !exists('*s:setupWrapping')
|
|
|
|
|
function s:setupWrapping()
|
|
|
|
|
set wrap
|
|
|
|
|
set wm=2
|
|
|
|
|
set textwidth=79
|
|
|
|
|
endfunction
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Autocmd Rules
|
|
|
|
|
"*****************************************************************************
|
2022-12-29 16:17:23 +01:00
|
|
|
|
"" Automatically switch between absolute and relative line numbers
|
|
|
|
|
augroup numbertoggle
|
|
|
|
|
autocmd!
|
|
|
|
|
autocmd BufEnter,FocusGained,InsertLeave,WinEnter * if &nu && mode() != "i" | set rnu | endif
|
|
|
|
|
autocmd BufLeave,FocusLost,InsertEnter,WinLeave * if &nu | set nornu | endif
|
|
|
|
|
augroup END
|
|
|
|
|
|
2022-12-15 12:58:53 +01:00
|
|
|
|
"" The PC is fast enough, do syntax highlight syncing from start unless 200 lines
|
|
|
|
|
augroup vimrc-sync-fromstart
|
|
|
|
|
autocmd!
|
|
|
|
|
autocmd BufEnter * :syntax sync maxlines=200
|
|
|
|
|
augroup END
|
|
|
|
|
|
|
|
|
|
"" Remember cursor position
|
|
|
|
|
augroup vimrc-remember-cursor-position
|
|
|
|
|
autocmd!
|
|
|
|
|
autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
|
|
|
|
|
augroup END
|
|
|
|
|
|
|
|
|
|
"" txt
|
|
|
|
|
augroup vimrc-wrapping
|
|
|
|
|
autocmd!
|
|
|
|
|
autocmd BufRead,BufNewFile *.txt call s:setupWrapping()
|
|
|
|
|
augroup END
|
|
|
|
|
|
|
|
|
|
"" make/cmake
|
|
|
|
|
augroup vimrc-make-cmake
|
|
|
|
|
autocmd!
|
|
|
|
|
autocmd FileType make setlocal noexpandtab
|
|
|
|
|
autocmd BufNewFile,BufRead CMakeLists.txt setlocal filetype=cmake
|
|
|
|
|
augroup END
|
|
|
|
|
|
|
|
|
|
set autoread
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Mappings
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
|
|
|
|
|
"" Split
|
2022-12-26 21:09:56 +01:00
|
|
|
|
noremap <leader>h :<C-u>split<cr>
|
|
|
|
|
noremap <leader>v :<C-u>vsplit<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Git
|
2022-12-26 21:09:56 +01:00
|
|
|
|
noremap <leader>ga :Gwrite<cr>
|
|
|
|
|
noremap <leader>gc :Git commit --verbose<cr>
|
|
|
|
|
noremap <leader>gsh :Git push<cr>
|
|
|
|
|
noremap <leader>gll :Git pull<cr>
|
|
|
|
|
noremap <leader>gs :Git<cr>
|
|
|
|
|
noremap <leader>gb :Git blame<cr>
|
|
|
|
|
noremap <leader>gd :Gvdiffsplit<cr>
|
|
|
|
|
noremap <leader>gr :GRemove<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
" session management
|
|
|
|
|
nnoremap <leader>so :OpenSession<Space>
|
|
|
|
|
nnoremap <leader>ss :SaveSession<Space>
|
2022-12-25 19:19:25 +01:00
|
|
|
|
nnoremap <leader>sd :DeleteSession<cr>
|
|
|
|
|
nnoremap <leader>sc :CloseSession<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Tabs
|
|
|
|
|
nnoremap <Tab> gt
|
|
|
|
|
nnoremap <S-Tab> gT
|
2022-12-25 19:19:25 +01:00
|
|
|
|
nnoremap <silent> <S-t> :tabnew<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Set working directory
|
2022-12-25 19:19:25 +01:00
|
|
|
|
nnoremap <leader>. :lcd %:p:h<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Opens an edit command with the path of the currently edited file filled in
|
2022-12-26 21:09:56 +01:00
|
|
|
|
noremap <leader>e :e <C-R>=expand("%:p:h") . "/" <cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Opens a tab edit command with the path of the currently edited file filled
|
2022-12-26 21:09:56 +01:00
|
|
|
|
noremap <leader>te :tabe <C-R>=expand("%:p:h") . "/" <cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" fzf.vim
|
|
|
|
|
set wildmode=list:longest,list:full
|
|
|
|
|
set wildignore+=*.o,*.obj,.git,*.rbc,*.pyc,__pycache__
|
|
|
|
|
let $FZF_DEFAULT_COMMAND = "find * -path '*/\.*' -prune -o -path 'node_modules/**' -prune -o -path 'target/**' -prune -o -path 'dist/**' -prune -o -type f -print -o -type l -print 2> /dev/null"
|
|
|
|
|
|
|
|
|
|
" ripgrep
|
|
|
|
|
if executable('rg')
|
|
|
|
|
let $FZF_DEFAULT_COMMAND = 'rg --files --hidden --follow --glob "!.git/*"'
|
|
|
|
|
set grepprg=rg\ --vimgrep
|
|
|
|
|
command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --hidden --follow --glob "!.git/*" --color "always" '.shellescape(<q-args>).'| tr -d "\017"', 1, <bang>0)
|
|
|
|
|
endif
|
|
|
|
|
|
2022-12-25 19:19:25 +01:00
|
|
|
|
cnoremap <C-P> <C-R>=expand("%:p:h") . "/" <cr>
|
|
|
|
|
nnoremap <silent> <leader>b :Buffers<cr>
|
|
|
|
|
nnoremap <silent> <leader>e :FZF -m<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
"Recovery commands from history through FZF
|
2022-12-25 19:19:25 +01:00
|
|
|
|
nmap <leader>y :History:<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Copy/Paste/Cut
|
|
|
|
|
if has('unnamedplus')
|
|
|
|
|
set clipboard=unnamed,unnamedplus
|
|
|
|
|
endif
|
|
|
|
|
|
2022-12-25 19:19:25 +01:00
|
|
|
|
noremap YY "+y<cr>
|
|
|
|
|
noremap <leader>p "+gP<cr>
|
|
|
|
|
noremap XX "+x<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Key remaps for Dvorak layout
|
2022-12-25 19:19:25 +01:00
|
|
|
|
noremap d <left>
|
|
|
|
|
noremap h <down>
|
|
|
|
|
noremap t <up>
|
|
|
|
|
noremap n <right>
|
|
|
|
|
noremap e d
|
|
|
|
|
noremap <C-e> <C-d>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Buffer nav
|
2022-12-26 21:10:25 +01:00
|
|
|
|
noremap <leader>d :bp<cr>
|
|
|
|
|
noremap <leader>n :bn<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Close buffer
|
2022-12-25 19:19:25 +01:00
|
|
|
|
noremap <leader>c :bd<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Clean search (highlight)
|
|
|
|
|
nnoremap <silent> <leader><space> :noh<cr>
|
|
|
|
|
|
|
|
|
|
"" Switching windows
|
|
|
|
|
noremap <C-j> <C-w>j
|
|
|
|
|
noremap <C-k> <C-w>k
|
|
|
|
|
noremap <C-l> <C-w>l
|
|
|
|
|
noremap <C-h> <C-w>h
|
|
|
|
|
|
|
|
|
|
"" Vmap for maintain Visual Mode after shifting > and <
|
|
|
|
|
vmap < <gv
|
|
|
|
|
vmap > >gv
|
|
|
|
|
|
|
|
|
|
"" Move visual block
|
2022-12-25 19:19:25 +01:00
|
|
|
|
vnoremap J :m '>+1<cr>gv=gv
|
|
|
|
|
vnoremap K :m '<-2<cr>gv=gv
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
2022-12-26 21:10:25 +01:00
|
|
|
|
nnoremap <leader>w :w<cr>
|
2022-12-15 12:58:53 +01:00
|
|
|
|
|
|
|
|
|
"" Remove annoying Ex mode shortcut
|
|
|
|
|
map Q <Nop>
|
|
|
|
|
|
2022-12-26 21:10:25 +01:00
|
|
|
|
"" Reload config
|
2022-12-25 19:19:25 +01:00
|
|
|
|
nnoremap <leader>r :source $MYVIMRC<cr>
|
|
|
|
|
|
2022-12-15 12:58:53 +01:00
|
|
|
|
"" Trim trailing whitespaces by default on save
|
|
|
|
|
function! s:TrimTrailingWs()
|
|
|
|
|
if &ft =~ 'markdown'
|
|
|
|
|
return
|
|
|
|
|
endif
|
|
|
|
|
%s/\s\+$//e
|
|
|
|
|
endfun
|
|
|
|
|
|
|
|
|
|
autocmd BufWritePre * call s:TrimTrailingWs()
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Custom configs
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
|
|
|
|
|
" c
|
|
|
|
|
autocmd FileType c setlocal tabstop=4 shiftwidth=4 expandtab
|
|
|
|
|
autocmd FileType cpp setlocal tabstop=4 shiftwidth=4 expandtab
|
|
|
|
|
|
|
|
|
|
" html
|
|
|
|
|
autocmd Filetype html setlocal tabstop=2 shiftwidth=2 expandtab
|
|
|
|
|
|
|
|
|
|
" javascript
|
|
|
|
|
let g:javascript_enable_domhtmlcss = 1
|
|
|
|
|
|
|
|
|
|
" vim-javascript
|
|
|
|
|
augroup vimrc-javascript
|
|
|
|
|
autocmd!
|
|
|
|
|
autocmd FileType javascript setl tabstop=4|setl shiftwidth=4|setl expandtab softtabstop=4
|
|
|
|
|
augroup END
|
|
|
|
|
|
|
|
|
|
" python
|
|
|
|
|
" vim-python
|
|
|
|
|
augroup vimrc-python
|
|
|
|
|
autocmd!
|
|
|
|
|
autocmd FileType python setlocal expandtab shiftwidth=4 tabstop=8 colorcolumn=79
|
|
|
|
|
\ formatoptions+=croq softtabstop=4
|
|
|
|
|
\ cinwords=if,elif,else,for,while,try,except,finally,def,class,with
|
|
|
|
|
augroup END
|
|
|
|
|
|
|
|
|
|
" jedi-vim
|
|
|
|
|
let g:jedi#popup_on_dot = 0
|
|
|
|
|
let g:jedi#goto_assignments_command = "<leader>g"
|
|
|
|
|
let g:jedi#goto_definitions_command = "<leader>d"
|
|
|
|
|
let g:jedi#documentation_command = "K"
|
|
|
|
|
let g:jedi#usages_command = "<leader>n"
|
|
|
|
|
let g:jedi#rename_command = "<leader>r"
|
|
|
|
|
let g:jedi#show_call_signatures = "0"
|
|
|
|
|
let g:jedi#completions_command = "<C-Space>"
|
|
|
|
|
let g:jedi#smart_auto_mappings = 0
|
|
|
|
|
|
|
|
|
|
" vim-airline
|
|
|
|
|
let g:airline#extensions#virtualenv#enabled = 1
|
|
|
|
|
|
|
|
|
|
" Syntax highlight
|
|
|
|
|
let python_highlight_all = 1
|
|
|
|
|
|
|
|
|
|
" rust
|
|
|
|
|
" Vim racer
|
|
|
|
|
au FileType rust nmap gd <Plug>(rust-def)
|
|
|
|
|
au FileType rust nmap gs <Plug>(rust-def-split)
|
|
|
|
|
au FileType rust nmap gx <Plug>(rust-def-vertical)
|
|
|
|
|
au FileType rust nmap <leader>gd <Plug>(rust-doc)
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
|
|
|
|
|
"" Include user's local vim config
|
2023-01-01 19:18:03 +01:00
|
|
|
|
let s:local_host_config = expand('~/.config/nvim/config.d' .. hostname())
|
|
|
|
|
if filereadable(s:local_host_config)
|
|
|
|
|
execute 'source ' .. s:local_host_config
|
2022-12-15 12:58:53 +01:00
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
"" Convenience variables
|
|
|
|
|
"*****************************************************************************
|
|
|
|
|
|
|
|
|
|
" vim-airline
|
|
|
|
|
if !exists('g:airline_symbols')
|
|
|
|
|
let g:airline_symbols = {}
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
if !exists('g:airline_powerline_fonts')
|
|
|
|
|
let g:airline#extensions#tabline#left_sep = ' '
|
|
|
|
|
let g:airline#extensions#tabline#left_alt_sep = '|'
|
|
|
|
|
let g:airline_left_sep = '▶'
|
|
|
|
|
let g:airline_left_alt_sep = '»'
|
|
|
|
|
let g:airline_right_sep = '◀'
|
|
|
|
|
let g:airline_right_alt_sep = '«'
|
|
|
|
|
let g:airline#extensions#branch#prefix = '⤴' "➔, ➥, ⎇
|
|
|
|
|
let g:airline#extensions#readonly#symbol = '⊘'
|
|
|
|
|
let g:airline#extensions#linecolumn#prefix = '¶'
|
|
|
|
|
let g:airline#extensions#paste#symbol = 'ρ'
|
|
|
|
|
let g:airline_symbols.linenr = '␊'
|
|
|
|
|
let g:airline_symbols.branch = '⎇'
|
|
|
|
|
let g:airline_symbols.paste = 'ρ'
|
|
|
|
|
let g:airline_symbols.paste = 'Þ'
|
|
|
|
|
let g:airline_symbols.paste = '∥'
|
|
|
|
|
let g:airline_symbols.whitespace = 'Ξ'
|
|
|
|
|
else
|
|
|
|
|
let g:airline#extensions#tabline#left_sep = ''
|
|
|
|
|
let g:airline#extensions#tabline#left_alt_sep = ''
|
|
|
|
|
|
|
|
|
|
" powerline symbols
|
|
|
|
|
let g:airline_left_sep = ''
|
|
|
|
|
let g:airline_left_alt_sep = ''
|
|
|
|
|
let g:airline_right_sep = ''
|
|
|
|
|
let g:airline_right_alt_sep = ''
|
|
|
|
|
let g:airline_symbols.branch = ''
|
|
|
|
|
let g:airline_symbols.readonly = ''
|
|
|
|
|
let g:airline_symbols.linenr = ''
|
|
|
|
|
endif
|