187 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			187 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
" settings
 | 
						|
if ! filereadable(system('echo -n "$HOME/.vim/autoload/plug.vim"'))
 | 
						|
	silent !mkdir -p $HOME/.vim/autoload/
 | 
						|
	silent !curl --silent "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > $HOME/.vim/autoload/plug.vim
 | 
						|
	autocmd VimEnter * PlugInstall
 | 
						|
endif
 | 
						|
 | 
						|
set laststatus=2
 | 
						|
set shiftwidth=4
 | 
						|
set softtabstop=4
 | 
						|
set tabstop=4
 | 
						|
au BufWritePre * let &bex = '@' . strftime("%F.%H:%M")
 | 
						|
 | 
						|
" plugins
 | 
						|
call plug#begin('~/.vim/plugged')
 | 
						|
Plug 'preservim/nerdtree', "{ 'on':  'NERDTreeToggle' }
 | 
						|
call plug#end()
 | 
						|
 | 
						|
" Status-line
 | 
						|
set statusline=
 | 
						|
set statusline+=%#IncSearch#
 | 
						|
set statusline+=\ %y
 | 
						|
set statusline+=\ %r
 | 
						|
set statusline+=%#CursorLineNr#
 | 
						|
set statusline+=\ %F
 | 
						|
set statusline+=%= "Right side settings
 | 
						|
set statusline+=%#Search#
 | 
						|
set statusline+=\ %l/%L
 | 
						|
set statusline+=\ [%c]
 | 
						|
 | 
						|
set nocompatible
 | 
						|
set hlsearch
 | 
						|
set incsearch
 | 
						|
set noshowmode
 | 
						|
set cmdheight=1
 | 
						|
syntax on
 | 
						|
filetype plugin indent on
 | 
						|
 | 
						|
set encoding=utf-8
 | 
						|
 | 
						|
" line numbers
 | 
						|
set number
 | 
						|
set ruler
 | 
						|
set title
 | 
						|
 | 
						|
" indent
 | 
						|
set backspace=indent,eol,start
 | 
						|
set shiftwidth=4
 | 
						|
set expandtab
 | 
						|
 | 
						|
" editing
 | 
						|
runtime! macros/matchit.vim
 | 
						|
 | 
						|
" visual feedback
 | 
						|
set laststatus=2
 | 
						|
set showmode
 | 
						|
set showcmd
 | 
						|
 | 
						|
" off mouse
 | 
						|
set mouse-=a
 | 
						|
 | 
						|
" disable pcspkr beep
 | 
						|
set visualbell
 | 
						|
set t_vb=
 | 
						|
 | 
						|
" searching
 | 
						|
set smartcase
 | 
						|
set ic
 | 
						|
 | 
						|
" cursor
 | 
						|
let &t_SI = "\<esc>[6 q"
 | 
						|
let &t_EI = "\<esc>[2 q"
 | 
						|
 | 
						|
" colors
 | 
						|
set bg=dark
 | 
						|
 | 
						|
" map
 | 
						|
nnoremap S :%s//g<Left><Left>
 | 
						|
map <C-n> :NERDTreeToggle<CR>
 | 
						|
nnoremap <silent> <C-t> :tabnew <CR>
 | 
						|
nnoremap <F7> :tabprevious<CR>
 | 
						|
nnoremap <F8> :tabnext<CR>
 | 
						|
 | 
						|
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
 | 
						|
 | 
						|
 | 
						|
""""""""""""""""""""""""""""""""
 | 
						|
" Keyboard shortcuts
 | 
						|
""""""""""""""""""""""""""""""""
 | 
						|
let mapleader = "\<Space>"
 | 
						|
nmap <leader>2 :w!<cr>
 | 
						|
 | 
						|
" Better tab
 | 
						|
vnoremap <Tab> >
 | 
						|
vnoremap <S-Tab> <
 | 
						|
 | 
						|
" Better word
 | 
						|
nmap yw vey
 | 
						|
 | 
						|
" Select all text
 | 
						|
nmap <C-a> gg<S-v>G
 | 
						|
 | 
						|
" Resize window
 | 
						|
nnoremap <C-L> :vertical resize +5<CR>
 | 
						|
nnoremap <C-H> :vertical resize -5<CR>
 | 
						|
nnoremap <C-J> :res -5<CR>
 | 
						|
nnoremap <C-K> :res +5<CR>
 | 
						|
 | 
						|
" Split window
 | 
						|
nnoremap _ :vsp <CR>
 | 
						|
nnoremap - :split <CR>
 | 
						|
 | 
						|
" Reload file
 | 
						|
nnoremap <F5> :edit <CR>
 | 
						|
nnoremap <Leader><F5> :edit! <CR>
 | 
						|
 | 
						|
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
 | 
						|
 | 
						|
" Moving line up or down using alt
 | 
						|
nnoremap <A-Up> :m-2<CR>
 | 
						|
nnoremap <A-Down> :m+<CR>
 | 
						|
inoremap <A-Up> <Esc>:m-2<CR>
 | 
						|
inoremap <A-Down> <Esc>:m+<CR>
 | 
						|
vnoremap <A-Down> :m '>+1<CR>gv=gv
 | 
						|
vnoremap <A-Up> :m '<-2<CR>gv=gv
 | 
						|
 | 
						|
nnoremap Ż :m-2<CR>
 | 
						|
nnoremap ∆ :m+<CR>
 | 
						|
vnoremap ∆ :m '>+1<CR>gv=gv
 | 
						|
vnoremap Ż :m '<-2<CR>gv=gv
 | 
						|
 | 
						|
nnoremap <A-k> :m-2<CR>
 | 
						|
nnoremap <A-j> :m+<CR>
 | 
						|
inoremap <A-k> <Esc>:m-2<CR>
 | 
						|
inoremap <A-j> <Esc>:m+<CR>
 | 
						|
vnoremap <A-j> :m '>+1<CR>gv=gv
 | 
						|
vnoremap <A-k> :m '<-2<CR>gv=gv
 | 
						|
 | 
						|
" Better replace
 | 
						|
nnoremap <Leader>s :%s//g<Left><Left>
 | 
						|
vnoremap <Leader>s :s//g<Left><Left>
 | 
						|
 | 
						|
" Better adding into begging and ending line
 | 
						|
vnoremap F <C-v>$A
 | 
						|
vnoremap f <C-v>0I
 | 
						|
 | 
						|
" Better management of tabs
 | 
						|
nnoremap <C-t> :tabnew<CR>
 | 
						|
 | 
						|
nnoremap <F7> :tabprevious<CR>
 | 
						|
nnoremap <F8> :tabnext<CR>
 | 
						|
inoremap <F7>  <Esc>:tabprevious<CR>i
 | 
						|
inoremap <F8>  <Esc>:tabnext<CR>i
 | 
						|
 | 
						|
nnoremap <Leader>k :tabprevious<CR>
 | 
						|
nnoremap <Leader>j :tabnext<CR>
 | 
						|
 | 
						|
inoremap <C-t> <Esc>:tabnew<CR>
 | 
						|
 | 
						|
" Better moving
 | 
						|
nnoremap J }
 | 
						|
nnoremap K {
 | 
						|
vnoremap J }
 | 
						|
vnoremap K {
 | 
						|
 | 
						|
" Copy into system
 | 
						|
noremap <Leader>y "*y
 | 
						|
noremap <Leader>p "*p
 | 
						|
 | 
						|
" Code
 | 
						|
map <Leader><Tab> Vgaip= <CR>
 | 
						|
 | 
						|
" Others
 | 
						|
nnoremap <F11> :Goyo <CR>
 | 
						|
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
 | 
						|
map <F3> :setlocal spell! spelllang=en_gb<CR>
 | 
						|
map <F4> :setlocal spell! spelllang=pl<CR>
 | 
						|
 | 
						|
" Human Errors
 | 
						|
:command! W w
 | 
						|
:command! Q q
 | 
						|
:command! Wq wq
 | 
						|
 | 
						|
" Automatically deletes all trailing whitespace and newlines at end of file on save.
 | 
						|
autocmd BufWritePre * %s/\s\+$//e
 | 
						|
autocmd BufWritepre * %s/\n\+\%$//e
 |