132 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| set nocompatible
 | |
| set backspace=indent,eol,start
 | |
| syntax enable
 | |
| set mouse=a
 | |
| set mousemodel=extend
 | |
| set title
 | |
| let g:airline_theme='term_light'
 | |
| 
 | |
| filetype plugin on
 | |
| filetype indent on
 | |
| 
 | |
| " Enable spell check for commit messages
 | |
| autocmd FileType gitcommit setlocal spell spelllang=en_gb
 | |
| 
 | |
| " Use spaces instead of tabs
 | |
| set expandtab
 | |
| 
 | |
| " Be smart when using tabs ;)
 | |
| set smarttab
 | |
| 
 | |
| " 1 tab == 4 spaces
 | |
| set shiftwidth=4
 | |
| set tabstop=4
 | |
| 
 | |
| set wrap "Wrap lines
 | |
| 
 | |
| set nobackup
 | |
| set nowb
 | |
| set noswapfile
 | |
| 
 | |
| " Set to auto read when a file is changed from the outside
 | |
| set autoread
 | |
| 
 | |
| 
 | |
| " Leader
 | |
| let mapleader = ","
 | |
| let g:mapleader = ","
 | |
| 
 | |
| " Fast saving
 | |
| nmap <leader>w :w!<cr>
 | |
| 
 | |
| " Save and start shell
 | |
| nmap <leader># :w!<cr>:te<cr>i
 | |
| "tnoremap <ESC> <C-\><C-n>:buffer #<CR>
 | |
| tnoremap <C-c> <C-\><C-n>:buffer #<CR>
 | |
| "autocmd TermClose * bd! " quit when a terminal closes instead of showing exit code and waiting
 | |
| 
 | |
| " Highlight search results
 | |
| set hlsearch
 | |
| " Makes search act like search in modern browsers
 | |
| set incsearch
 | |
| 
 | |
| " Smart case when searching
 | |
| set ignorecase
 | |
| set smartcase
 | |
| 
 | |
| " Show results of pattern matching/replacing while typing
 | |
| set inccommand=split
 | |
| 
 | |
| " When you press <leader>r you can search and replace the selected text
 | |
| vnoremap <silent> <leader>r :call VisualSelection('replace')<CR>
 | |
| 
 | |
| " Disable highlight when <leader><cr> is pressed
 | |
| map <silent> <leader><cr> :noh<cr>
 | |
| 
 | |
| " For regular expressions turn magic on
 | |
| set magic
 | |
| 
 | |
| " Visual mode pressing * or # searches for the current selection
 | |
| " Super useful! From an idea by Michael Naumann
 | |
| vnoremap <silent> * :call VisualSelection('f')<CR>
 | |
| vnoremap <silent> # :call VisualSelection('b')<CR>
 | |
| 
 | |
| " 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
 | |
| 
 | |
| " Spell checking
 | |
| map <leader>ss :setlocal spell! spelllang=de_20<cr>
 | |
| map <leader>se :setlocal spell! spelllang=en-curly_gb<cr>
 | |
| map <leader>su :setlocal spell! spelllang=en-curly_us<cr>
 | |
| 
 | |
| " Treat long lines as break lines (useful when moving around in them)
 | |
| map j gj
 | |
| map k gk
 | |
| 
 | |
| " 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
 | |
| 
 | |
| " More natural behaviour when splitting
 | |
| set splitbelow
 | |
| set splitright
 | |
| 
 | |
| " Useful mappings for managing tabs
 | |
| map <leader>tn :tabnew<cr>
 | |
| map <leader>to :tabonly<cr>
 | |
| map <leader>tc :tabclose<cr>
 | |
| map <leader>tm :tabmove
 | |
| 
 | |
| " Jump to particular tab directly
 | |
| noremap <leader>1 1gt
 | |
| noremap <leader>2 2gt
 | |
| noremap <leader>3 3gt
 | |
| noremap <leader>4 4gt
 | |
| noremap <leader>5 5gt
 | |
| noremap <leader>6 6gt
 | |
| noremap <leader>7 7gt
 | |
| noremap <leader>8 8gt
 | |
| noremap <leader>9 9gt
 | |
| noremap <leader>0 :tablast<cr>
 | |
| 
 | |
| " Switch CWD to the directory of the open buffer
 | |
| map <leader>cd :cd %:p:h<cr>:pwd<cr>
 | |
| 
 | |
| " Remember info about open buffers on close
 | |
| set viminfo^=%
 | |
| 
 | |
| " Toggle paste mode on and off
 | |
| map <leader>pp :setlocal paste!<cr>
 | |
| 
 | |
| " Save and make
 | |
| nnoremap <leader>m :wa <BAR> :Make<CR>
 | |
| 
 | |
| hi ColorColumn ctermbg=47
 | |
| 
 | |
| let g:vimtex_compiler_enabled = 0
 | |
| 
 | |
| let g:local_vimrc = {'names': ['.local.vimrc'], 'hash_fun': 'LVRHashOfFile'}
 |