[vim] Basic config imrovements and base16 theme link
This commit is contained in:
parent
9d06963d6a
commit
56eab848f9
3 changed files with 132 additions and 36 deletions
1
vim/colors
Symbolic link
1
vim/colors
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../themes/base16-vim/colors
|
|
@ -1 +0,0 @@
|
||||||
../../themes/base16-vim/colors/base16-default-dark.vim
|
|
166
vimrc
166
vimrc
|
@ -1,9 +1,38 @@
|
||||||
set autochdir
|
|
||||||
set nocompatible
|
set nocompatible
|
||||||
" Allow backspacing over everything in insert mode.
|
" Allow backspacing over everything in insert mode.
|
||||||
set backspace=indent,eol,start
|
set backspace=indent,eol,start
|
||||||
set number
|
set number
|
||||||
set relativenumber
|
set relativenumber
|
||||||
|
"[Hide/show the white-space and more invisible symbols]"
|
||||||
|
set list
|
||||||
|
set listchars=nbsp:¬,trail:-
|
||||||
|
"set listchars+=tab:│\ ,
|
||||||
|
set listchars+=tab:▸\ ,
|
||||||
|
set nojoinspaces
|
||||||
|
"[Indent & Tab/mode-line settings]"
|
||||||
|
set breakindent
|
||||||
|
set nopaste
|
||||||
|
set smarttab
|
||||||
|
set tabstop=4 " tabs size on screen "
|
||||||
|
set expandtab " <tab> inserts spaces "
|
||||||
|
set autoindent
|
||||||
|
set copyindent " copy existing tab/spaces mix on newline "
|
||||||
|
set smartindent " overruled by cindent "
|
||||||
|
set cinwords=except,finally,def,class,with,do,if,elif,else,for,while,try,switch
|
||||||
|
set cinoptions+=l1 " switch case label alignement, :h cinoptions-values "
|
||||||
|
set shiftwidth=4 " number of space to use on indent. Use tabstop if 0"
|
||||||
|
"set softtabstop=4
|
||||||
|
"[Matching chars]"
|
||||||
|
set showmatch
|
||||||
|
set matchpairs=\":\"
|
||||||
|
set matchpairs+=(:)
|
||||||
|
set matchpairs+={:}
|
||||||
|
set matchpairs+=[:]
|
||||||
|
"[TextWidth settings]"
|
||||||
|
set textwidth=0
|
||||||
|
"[Look for a single modeline in files]"
|
||||||
|
set modeline
|
||||||
|
set modelines=1
|
||||||
|
|
||||||
set history=200 " keep 200 lines of command line history
|
set history=200 " keep 200 lines of command line history
|
||||||
set ruler " show the cursor position all the time
|
set ruler " show the cursor position all the time
|
||||||
|
@ -20,6 +49,46 @@ set history=1000
|
||||||
set nowritebackup
|
set nowritebackup
|
||||||
set undolevels=5000
|
set undolevels=5000
|
||||||
|
|
||||||
|
" Show @@@ in the last line if it is truncated.
|
||||||
|
set display=truncate
|
||||||
|
"[Splitting rules]"
|
||||||
|
set splitbelow
|
||||||
|
set splitright
|
||||||
|
set equalalways
|
||||||
|
|
||||||
|
" Show a few lines of context around the cursor.
|
||||||
|
set scrolloff=5
|
||||||
|
|
||||||
|
set autochdir
|
||||||
|
set autoread
|
||||||
|
set autowrite
|
||||||
|
|
||||||
|
"[Shared with OS clipboard]"
|
||||||
|
set clipboard=unnamed
|
||||||
|
|
||||||
|
"[For regular expressions turn magic on, use \v to get regex parent]"
|
||||||
|
set magic
|
||||||
|
"[Search settings]"
|
||||||
|
set hlsearch
|
||||||
|
set incsearch
|
||||||
|
set smartcase
|
||||||
|
set ignorecase
|
||||||
|
set wrapscan
|
||||||
|
"[When on, the ":substitute" flag 'g' is default on]"
|
||||||
|
set nogdefault
|
||||||
|
|
||||||
|
|
||||||
|
"[Kitty doesn't support background color erase]"
|
||||||
|
let &t_ut=''
|
||||||
|
let base16colorspace=256
|
||||||
|
set background=dark
|
||||||
|
colorscheme base16-default-dark
|
||||||
|
"[Fix background transparency]"
|
||||||
|
if has("autocmd")
|
||||||
|
autocmd ColorScheme * highlight Normal ctermbg=None
|
||||||
|
autocmd ColorScheme * highlight NonText ctermbg=None
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
"[Define the leader key]"
|
"[Define the leader key]"
|
||||||
let mapleader=","
|
let mapleader=","
|
||||||
|
@ -55,21 +124,20 @@ map Q gq
|
||||||
"[Reflow current paragraph]"
|
"[Reflow current paragraph]"
|
||||||
"[http://stevelosh.com/blog/2010/09/coming-home-to-vim/]"
|
"[http://stevelosh.com/blog/2010/09/coming-home-to-vim/]"
|
||||||
nnoremap <leader>q gqip
|
nnoremap <leader>q gqip
|
||||||
|
" http://stackoverflow.com/questions/1005/getting-root-permissions-on-a-file-inside-of-vi
|
||||||
|
cmap w!! w !sudo tee >/dev/null %
|
||||||
|
"[To disable the arrow keys]"
|
||||||
|
for prefix in ['i', 'n', 'v']
|
||||||
|
for key in ['<Up>', '<Down>', '<Left>', '<Right>']
|
||||||
|
execute prefix . "noremap " . key . " <Nop>"
|
||||||
|
endfor
|
||||||
|
endfor
|
||||||
|
|
||||||
|
|
||||||
" Show @@@ in the last line if it is truncated.
|
|
||||||
set display=truncate
|
|
||||||
|
|
||||||
" Show a few lines of context around the cursor. Note that this makes the
|
|
||||||
" text scroll if you mouse-click near the start or end of the window.
|
|
||||||
set scrolloff=5
|
|
||||||
|
|
||||||
let base16colorspace=256
|
|
||||||
colorscheme base16-default-dark
|
|
||||||
|
|
||||||
" Do incremental searching when it's possible to timeout.
|
" Do incremental searching when it's possible to timeout.
|
||||||
if has('reltime')
|
if has('reltime')
|
||||||
set incsearch
|
set incsearch
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" LaTeX ftdetect
|
" LaTeX ftdetect
|
||||||
|
@ -78,38 +146,66 @@ let g:tex_flavor = "latex"
|
||||||
" Switch syntax highlighting on when the terminal has colors or when using the
|
" Switch syntax highlighting on when the terminal has colors or when using the
|
||||||
" GUI (which always has colors).
|
" GUI (which always has colors).
|
||||||
if &t_Co > 2 || has("gui_running")
|
if &t_Co > 2 || has("gui_running")
|
||||||
" Revert with ":syntax off".
|
" Revert with ":syntax off".
|
||||||
syntax on
|
syntax on
|
||||||
|
|
||||||
" I like highlighting strings inside C comments.
|
" I like highlighting strings inside C comments.
|
||||||
" Revert with ":unlet c_comment_strings".
|
" Revert with ":unlet c_comment_strings".
|
||||||
let c_comment_strings=1
|
let c_comment_strings=1
|
||||||
endif
|
endif
|
||||||
|
"
|
||||||
|
"[Remove tabs and spaces at the end of lines]"
|
||||||
|
function! DeleteTrailingTWS()
|
||||||
|
if &ft =~ 'diff'
|
||||||
|
return
|
||||||
|
end
|
||||||
|
normal mb
|
||||||
|
silent %s/[ \t]*$//g
|
||||||
|
silent %s/\s\+$//ge
|
||||||
|
normal 'b
|
||||||
|
endfunction
|
||||||
|
"[Make the scripts executable]"
|
||||||
|
function! ChangeScriptMode()
|
||||||
|
if getline(1) =~ "#!"
|
||||||
|
if getline(1) =~ "bin/"
|
||||||
|
silent !chmod +x <afile>
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
" Only do this part when compiled with support for autocommands.
|
" Only do this part when compiled with support for autocommands.
|
||||||
if has("autocmd")
|
if has("autocmd")
|
||||||
|
|
||||||
" Enable file type detection.
|
" Enable file type detection.
|
||||||
" Use the default filetype settings, so that mail gets 'tw' set to 72,
|
" Use the default filetype settings, so that mail gets 'tw' set to 72,
|
||||||
" 'cindent' is on in C files, etc.
|
" 'cindent' is on in C files, etc.
|
||||||
" Also load indent files, to automatically do language-dependent indenting.
|
" Also load indent files, to automatically do language-dependent indenting.
|
||||||
" Revert with ":filetype off".
|
" Revert with ":filetype off".
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
|
|
||||||
" Put these in an autocmd group, so that you can revert them with:
|
" Put these in an autocmd group, so that you can revert them with:
|
||||||
" ":augroup vimStartup | au! | augroup END"
|
" ":augroup vimStartup | au! | augroup END"
|
||||||
augroup vimStartup
|
augroup vimStartup
|
||||||
au!
|
au!
|
||||||
|
|
||||||
" When editing a file, always jump to the last known cursor position.
|
" When editing a file, always jump to the last known cursor position.
|
||||||
" Don't do it when the position is invalid, when inside an event handler
|
" Don't do it when the position is invalid, when inside an event handler
|
||||||
" (happens when dropping a file on gvim) and for a commit message (it's
|
" (happens when dropping a file on gvim) and for a commit message (it's
|
||||||
" likely a different one than last time).
|
" likely a different one than last time).
|
||||||
autocmd BufReadPost *
|
autocmd BufReadPost *
|
||||||
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
\ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
|
||||||
\ | exe "normal! g`\""
|
\ | exe "normal! g`\""
|
||||||
\ | endif
|
\ | endif
|
||||||
|
|
||||||
augroup END
|
augroup END
|
||||||
|
"
|
||||||
|
"[Do not clean up trailing spaces in binary mode]"
|
||||||
|
if !&binary
|
||||||
|
autocmd BufWritePre * call DeleteTrailingTWS()
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has("unix") || has("mac")
|
||||||
|
autocmd BufWritePost * call ChangeScriptMode()
|
||||||
|
endif
|
||||||
|
|
||||||
endif " has("autocmd")
|
endif " has("autocmd")
|
||||||
|
|
Loading…
Reference in a new issue