summaryrefslogtreecommitdiff
path: root/.config/vim/.vimrc
diff options
context:
space:
mode:
Diffstat (limited to '.config/vim/.vimrc')
-rw-r--r--.config/vim/.vimrc111
1 files changed, 111 insertions, 0 deletions
diff --git a/.config/vim/.vimrc b/.config/vim/.vimrc
new file mode 100644
index 0000000..e8e9417
--- /dev/null
+++ b/.config/vim/.vimrc
@@ -0,0 +1,111 @@
+runtime ftplugin/man.vim
+set runtimepath^=$HOME/.config/vim/.vim
+set viminfo=
+set number
+set relativenumber
+set title
+set bg=dark
+set go=a
+set mouse=a
+set nohlsearch
+set clipboard+=unnamedplus
+set noshowmode
+set noruler
+set laststatus=0
+set noshowcmd
+set nocompatible
+set autoindent
+set cindent
+set smartindent
+set nowrap
+set ignorecase
+set smartcase
+set laststatus=2
+set incsearch
+set wildignore=*.o,*.obj,*.bak,*.exe
+
+" Use pathogen (plugin manager)
+
+filetype off
+execute pathogen#infect()
+execute pathogen#helptags()
+syntax on
+filetype plugin on
+filetype plugin indent on
+
+" Automatically use black on a Python file
+autocmd BufWritePost *.py !black --line-length=79 %
+
+" Pymode config
+let g:pymode = 1
+let g:pymode_warnings = 0
+let g:pymode_trim_whitespaces = 1
+let g:pymode_options = 1
+let g:pymode_options_max_line_length = 79
+let g:pymode_options_colorcolumn = 1
+let g:pymode_indent = 1
+let g:pymode_indent_hanging_width = &shiftwidth
+let g:pymode_indent_hanging_width = 4
+let g:pymode_doc = 1
+
+" Automatically source .vimrc after saving
+autocmd BufWritePost ~/.vimrc source $MYVIMRC
+
+" Automatically source .inputrc after saving
+autocmd BufWritePost ~/.inputrc !bind -f ~/.inputrc
+
+" Automatically deletes all trailing whitespace and newlines at end of file on save. & reset cursor position
+autocmd BufWritePre * let currPos = getpos(".")
+autocmd BufWritePre * %s/\s\+$//e
+autocmd BufWritePre * %s/\n\+\%$//e
+autocmd BufWritePre * cal cursor(currPos[1], currPos[2])
+
+" Mappings
+noremap <BS> dBx
+nnoremap s o<Esc>
+nnoremap S o<Esc>k
+nnoremap Y y$
+nnoremap - ddp
+nnoremap _ ddkP
+nnoremap <C-J> "+yy
+nnoremap <C-K> <ESC>"+p
+nnoremap <space> i<space><esc>
+nnoremap <silent> <F7> :tabnew ~/.vimrc<CR>
+nnoremap <silent> <F8> :TlistToggle<CR>
+nnoremap <silent> <F9> :NERDTree<CR>
+vnoremap sb "zdi<b><C-R>z</b><Esc> : to do końca nie działa
+vnoremap sp "zdi<p><C-R>z</p><Esc>
+inoremap <C-d> <Esc>ddi
+inoremap <C-y> <Esc>yyi
+inoremap <C-p> <Esc>pi
+inoremap <Space><Space> <Esc>/<++><CR>"_c4l
+
+" show existing tab with 4 spaces width
+set tabstop=4
+" when indenting with '>', use 4 spaces width
+set shiftwidth=4
+" On pressing tab, insert 4 spaces
+set expandtab
+
+let g:pymode = 0
+
+" Haskell
+let g:haskell_enable_quantification = 1 " to enable highlighting of `forall`
+let g:haskell_enable_recursivedo = 1 " to enable highlighting of `mdo` and `rec`
+let g:haskell_enable_arrowsyntax = 1 " to enable highlighting of `proc`
+let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern`
+let g:haskell_enable_typeroles = 1 " to enable highlighting of type roles
+let g:haskell_enable_static_pointers = 1 " to enable highlighting of `static`
+let g:haskell_backpack = 1 " to enable highlighting of backpack keywords
+let g:haskell_indent_if = 3
+let g:haskell_indent_case = 2
+let g:haskell_indent_let = 4
+let g:haskell_indent_where = 6
+let g:haskell_indent_before_where = 2
+let g:haskell_indent_after_bare_where = 2
+let g:haskell_indent_do = 2
+let g:haskell_indent_in = 1
+let g:cabal_indent_section = 2
+let g:haskell_indent_case_alternative = 1
+let g:haskell_indent_guard = 2
+let g:hindent_on_save = 1