" 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 = "\[6 q" let &t_EI = "\[2 q" " colors set bg=dark " map nnoremap S :%s//g map :NERDTreeToggle nnoremap :tabnew nnoremap :tabprevious nnoremap :tabnext cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' edit! """""""""""""""""""""""""""""""" " Keyboard shortcuts """""""""""""""""""""""""""""""" let mapleader = "\" nmap 2 :w! " Better tab vnoremap > vnoremap < " Better word nmap yw vey " Select all text nmap ggG " Resize window nnoremap :vertical resize +5 nnoremap :vertical resize -5 nnoremap :res -5 nnoremap :res +5 " Split window nnoremap _ :vsp nnoremap - :split " Reload file nnoremap :edit nnoremap :edit! inoremap pumvisible() ? "\" : "\" " Moving line up or down using alt nnoremap :m-2 nnoremap :m+ inoremap :m-2 inoremap :m+ vnoremap :m '>+1gv=gv vnoremap :m '<-2gv=gv nnoremap Ż :m-2 nnoremap ∆ :m+ vnoremap ∆ :m '>+1gv=gv vnoremap Ż :m '<-2gv=gv nnoremap :m-2 nnoremap :m+ inoremap :m-2 inoremap :m+ vnoremap :m '>+1gv=gv vnoremap :m '<-2gv=gv " Better replace nnoremap s :%s//g vnoremap s :s//g " Better adding into begging and ending line vnoremap F $A vnoremap f 0I " Better management of tabs nnoremap :tabnew nnoremap :tabprevious nnoremap :tabnext inoremap :tabpreviousi inoremap :tabnexti nnoremap k :tabprevious nnoremap j :tabnext inoremap :tabnew " Better moving nnoremap J } nnoremap K { vnoremap J } vnoremap K { " Copy into system noremap y "*y noremap p "*p " Code map Vgaip= " Others nnoremap :Goyo cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' edit! map :setlocal spell! spelllang=en_gb map :setlocal spell! spelllang=pl " 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