|
|
@ -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") |
|
|
|