|
|
|
@ -1,71 +1,81 @@
|
|
|
|
|
let mapleader =","
|
|
|
|
|
if ! filereadable(expand('~/.config/nvim/autoload/plug.vim'))
|
|
|
|
|
echo "Downloading junegunn/vim-plug to manage plugins..."
|
|
|
|
|
silent !mkdir -p ~/.config/nvim/autoload/
|
|
|
|
|
silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim
|
|
|
|
|
autocmd VimEnter * PlugInstall
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
set go=a
|
|
|
|
|
" Enable mouse for all modes
|
|
|
|
|
set mouse=a
|
|
|
|
|
set nohlsearch
|
|
|
|
|
set clipboard=unnamedplus
|
|
|
|
|
|
|
|
|
|
" Some basics:
|
|
|
|
|
nnoremap c "_c
|
|
|
|
|
set clipboard+=unnamedplus
|
|
|
|
|
" Enable command completion
|
|
|
|
|
set wildmode=longest,list,full
|
|
|
|
|
" Setting Tab-length
|
|
|
|
|
set expandtab
|
|
|
|
|
set tabstop=4
|
|
|
|
|
set softtabstop=4
|
|
|
|
|
set shiftwidth=4
|
|
|
|
|
" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
|
|
|
|
|
set splitbelow splitright
|
|
|
|
|
" Set lines and colors
|
|
|
|
|
set cursorline
|
|
|
|
|
set cursorcolumn
|
|
|
|
|
" Disable case sensitive matching
|
|
|
|
|
set ignorecase
|
|
|
|
|
" Enable nocompatible mode
|
|
|
|
|
set nocompatible
|
|
|
|
|
" Enable Plugins
|
|
|
|
|
filetype plugin on
|
|
|
|
|
" Enable syntax highlighting
|
|
|
|
|
syntax on
|
|
|
|
|
" Enable true colors
|
|
|
|
|
set termguicolors
|
|
|
|
|
" Set utf-8 encoding
|
|
|
|
|
set encoding=utf-8
|
|
|
|
|
" Show relative numbers on left side
|
|
|
|
|
set number relativenumber
|
|
|
|
|
|
|
|
|
|
" Enable autocompletion:
|
|
|
|
|
set wildmode=longest,list,full
|
|
|
|
|
" Colorscheme
|
|
|
|
|
source /home/tiynger/.config/nvim/codedark.vim
|
|
|
|
|
highlight CursorLine ctermbg=Yellow cterm=bold guibg=#1b1b1b
|
|
|
|
|
highlight CursorColumn ctermbg=Yellow cterm=bold guibg=#1b1b1b
|
|
|
|
|
|
|
|
|
|
" Center screen on Insertion
|
|
|
|
|
autocmd InsertEnter * norm zz
|
|
|
|
|
" Delete trailing whitespaces on save
|
|
|
|
|
autocmd BufWritePre * %s/\s\+$//e
|
|
|
|
|
" Disables automatic commenting on newline:
|
|
|
|
|
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
|
|
|
|
|
|
|
|
|
" Setting Tab-length
|
|
|
|
|
set tabstop=4
|
|
|
|
|
set softtabstop=4
|
|
|
|
|
set shiftwidth=4
|
|
|
|
|
|
|
|
|
|
" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
|
|
|
|
|
set splitbelow splitright
|
|
|
|
|
|
|
|
|
|
" Clean LaTex build files
|
|
|
|
|
autocmd VimLeave *.tex !texclear %
|
|
|
|
|
|
|
|
|
|
" Copy selected text to system clipboard (requires gvim/nvim/vim-x11 installed):
|
|
|
|
|
vnoremap <C-c> "+y
|
|
|
|
|
map <C-p> "+P
|
|
|
|
|
|
|
|
|
|
" Save file as sudo on files that require root permission
|
|
|
|
|
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
|
|
|
|
|
|
|
|
|
|
" Mapping Dictionaries
|
|
|
|
|
map <F5> :setlocal spell! spelllang=de<CR>
|
|
|
|
|
map <F6> :set spelllang=en_us<CR>
|
|
|
|
|
|
|
|
|
|
" Read files correctly
|
|
|
|
|
autocmd BufRead,BufNewFile *.tex set filetype=tex
|
|
|
|
|
|
|
|
|
|
" Mapping Dictionaries
|
|
|
|
|
map <F5> :setlocal spell! spelllang=de_de<CR>
|
|
|
|
|
map <F6> :set spelllang=en_us<CR>
|
|
|
|
|
" Compiler for languages
|
|
|
|
|
map <leader>c :w! \| !compiler <c-r>%<CR>
|
|
|
|
|
|
|
|
|
|
" Open corresponding file (pdf/html/...)
|
|
|
|
|
map <leader>p :!opout <c-r>%<CR><CR>
|
|
|
|
|
|
|
|
|
|
" Delete trailing whitespaces on save
|
|
|
|
|
autocmd BufWritePre * %s/\s\+$//e
|
|
|
|
|
|
|
|
|
|
" Shortcut for split navigation
|
|
|
|
|
map <C-h> <C-w>h
|
|
|
|
|
map <C-j> <C-w>j
|
|
|
|
|
map <C-k> <C-w>k
|
|
|
|
|
map <C-l> <C-w>l
|
|
|
|
|
" Copy selected text to system clipboard (requires gvim/nvim/vim-x11 installed):
|
|
|
|
|
map <C-p> "+P
|
|
|
|
|
vnoremap <C-c> "+y
|
|
|
|
|
" Save file as sudo on files that require root permission
|
|
|
|
|
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
|
|
|
|
|
" Alias for replacing
|
|
|
|
|
nnoremap S :%s//gI<Left><Left><Left>
|
|
|
|
|
|
|
|
|
|
" Plugin section
|
|
|
|
|
if ! filereadable(expand('~/.config/nvim/autoload/plug.vim'))
|
|
|
|
|
echo "Downloading junegunn/vim-plug to manage plugins..."
|
|
|
|
|
silent !mkdir -p ~/.config/nvim/autoload/
|
|
|
|
|
silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim
|
|
|
|
|
autocmd VimEnter * PlugInstall
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
call plug#begin('~/.local/share/nvim/plugged')
|
|
|
|
|
Plug 'lervag/vimtex' , { 'for' : 'tex'} " Tex library for coc autocompletion
|
|
|
|
|
Plug 'donRaphaco/neotex', { 'for': 'tex'} " Asynchronous pdf rendering
|
|
|
|
@ -80,9 +90,6 @@ Plug 'frazrepo/vim-rainbow' " Colorized matching brackets
|
|
|
|
|
Plug 'junegunn/fzf.vim' " Quickly jump files using fzf
|
|
|
|
|
call plug#end()
|
|
|
|
|
|
|
|
|
|
" Colorscheme
|
|
|
|
|
source /home/tiynger/.config/nvim/codedark.vim
|
|
|
|
|
|
|
|
|
|
" Rainbow
|
|
|
|
|
au FileType java,c,cpp,py call rainbow#load()
|
|
|
|
|
|
|
|
|
|