diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2018-04-26 23:08:41 +0100 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2018-04-26 23:08:41 +0100 |
commit | 06af0989d9a5e58b36019b7644f2321dbf67a337 (patch) | |
tree | 0ade53e18cc89bbd66d0bec12328bbd060d62f2d /vim | |
parent | 8af9f0e107c8096649ac8cc7c6ba41fcb6a20760 (diff) | |
download | dotfiles-06af0989d9a5e58b36019b7644f2321dbf67a337.tar.gz dotfiles-06af0989d9a5e58b36019b7644f2321dbf67a337.zip |
Adding vim config
Diffstat (limited to 'vim')
-rw-r--r-- | vim/.vimrc | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/vim/.vimrc b/vim/.vimrc new file mode 100644 index 0000000..2e555fc --- /dev/null +++ b/vim/.vimrc @@ -0,0 +1,190 @@ +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Adapted from " +" https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim " +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => General " +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +" Sets how many lines of history vim as to +" remember +set history=500 + +" Enable filetype plugins +filetype plugin on +filetype indent on + +" Automatically update file when it changes +" on disk +set autoread + +" With the mapleader it's possible to write +" commands faster +let mapleader="," + +" Fast saving +nmap <leader>w :w!<cr> + +" :W sudo saves the file +command W w !sudo tee % > /dev/null + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Vim User Interface " +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +" Set 7 lines to the cursor when moving +" vertically +set so=7 + +" Avoid garbled characters in Chinese language windows OS +let $LANG='en' +set langmenu=en +source $VIMRUNTIME/delmenu.vim +source $VIMRUNTIME/menu.vim + +" Turn on wildmenu +set wildmenu + +" Always show current position +set ruler + +" Configure backspace so it acts as it should act +set backspace=eol,start,indent +set whichwrap+=<,>,h,l + +" Ignore case when searching +set ignorecase + +" When searching try to be smart about cases +set smartcase + +" Highlight search results +set hlsearch + +" Makes search act like search in modern browsers +set incsearch + +" Don't redraw while executing macros (good performance config) +set lazyredraw + +" For regular expressions turn magic on +set magic + +" Show matching brackets when text indicator is over them +set showmatch +" How many tenths of a second to blink when matching brackets +set mat=2 + +" No annoying sound on errors +set noerrorbells +set novisualbell +set t_vb= +set tm=500 + +" Add a bit extra margin to the left +set foldcolumn=1 + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Colors and Fonts " +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +" Enable syntax highlighting +syntax enable + +try + colorscheme gruvbox +catch +endtry + +set background=dark + +" Set utf8 as standard encoding and en_US as the standard language +set encoding=utf8 + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Files, backups and undo " +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +" Turn backup off, since most stuff is in SVN, git et.c anyway... +set nobackup +set nowb +set noswapfile + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Text, tab and indent related " +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +" Use spaces instead of tabs +set expandtab + +" Be smart when using tabs ;) +set smarttab + +" 1 tab == 4 spaces +set shiftwidth=4 +set tabstop=4 + +" Linebreak on 500 characters +set lbr +set tw=500 + +set ai "Auto indent +set si "Smart indent +set wrap "Wrap lines + + +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" => Moving around, tabs, windows and buffers " +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Map <Space> to / (search) and Ctrl-<Space> to ? (backwards search) +map <space> / +map <c-space> ? + +" Disable highlight when <leader><cr> is pressed +map <silent> <leader><cr> :noh<cr> + +" Smart way to move between windows +map <C-j> <C-W>j +map <C-k> <C-W>k +map <C-h> <C-W>h +map <C-l> <C-W>l + +" Close the current buffer +map <leader>bd :Bclose<cr>:tabclose<cr>gT + +" Close all the buffers +map <leader>ba :bufdo bd<cr> + +map <leader>l :bnext<cr> +map <leader>h :bprevious<cr> + +" Useful mappings for managing tabs +map <leader>tn :tabnew<cr> +map <leader>to :tabonly<cr> +map <leader>tc :tabclose<cr> +map <leader>tm :tabmove +map <leader>t<leader> :tabnext + +" Let 'tl' toggle between this and the last accessed tab +let g:lasttab = 1 +nmap <Leader>tl :exe "tabn ".g:lasttab<CR> +au TabLeave * let g:lasttab=tabpagenr() + + +" Opens a new tab with the current buffer's path +" Super useful when editing files in the same directory +map <leader>te :tabedit <c-r>=expand("%:p:h")<cr>/ + +" Switch CWD to the directory of the open buffer +map <leader>cd :cd %:p:h<cr>:pwd<cr> + +" Specify the behavior when switching between buffers +try + set switchbuf=useopen,usetab,newtab + set stal=2 +catch +endtry + +" Return to last edit position when opening files (You want this!) +au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif |