aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.config/nvim
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.config/nvim')
-rw-r--r--[l---------]dotfiles/.config/nvim/init.vim124
1 files changed, 123 insertions, 1 deletions
diff --git a/dotfiles/.config/nvim/init.vim b/dotfiles/.config/nvim/init.vim
index fe40ec5..96fc85f 120000..100644
--- a/dotfiles/.config/nvim/init.vim
+++ b/dotfiles/.config/nvim/init.vim
@@ -1 +1,123 @@
-/home/yaroslav/.vimrc \ No newline at end of file
+
+let mapleader =" "
+" Load Pathogen for plugins:
+" execute pathogen#infect()
+" execute pathogen#helptags()
+
+" Some basics:
+ set nocompatible
+ filetype plugin on
+ syntax on
+ set background=dark
+ set termguicolors
+ set guicursor=n-v-c-sm:hor20,i-ci-ve:ver25,r-cr-o:block
+ set cursorline
+ let g:gruvbox_italic=1
+ let g:airline_theme='ultramar'
+ let g:airline#extensions#tabline#enabled = 1
+ colorscheme ultramar
+" set encoding=utf-8
+ set number
+
+" airline
+ let g:airline_left_sep=''
+ let g:airline_right_sep=''
+ let g:airline_inactive_collapse=1
+
+" indentation
+ filetype plugin indent on
+ set tabstop=2
+ set shiftwidth=2
+ set expandtab
+
+" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
+ set splitbelow
+ set splitright
+
+" Shortcutting split navigation, saving a keypress:
+ map <C-h> <C-w>h
+ map <C-j> <C-w>j
+ map <C-k> <C-w>k
+ map <C-l> <C-w>l
+
+" Open the selected text in a split (i.e. should be a file).
+ map <leader>o "oyaW:sp <C-R>o<CR>
+ xnoremap <leader>o "oy<esc>:sp <C-R>o<CR>
+ vnoremap <leader>o "oy<esc>:sp <C-R>o<CR>
+
+" Replace all is aliased to S.
+ nnoremap S :%s//g<Left><Left>
+
+" Compile document
+ map <leader>c :!doccompiler <c-r>%<CR>
+
+" View live preview of document
+ map <leader>v :LLPStartPreview<CR>
+
+" Make calcurse notes markdown compatible:
+ autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
+
+" Spell-check set to F2:
+ map <F2> :setlocal spell! spelllang=en_us,es,ru<CR>
+
+" Copy selected text to system clipboard (requires gvim installed):
+ vnoremap <C-c> "*y :let @+=@*<CR>
+
+" Copy to clipboard
+ vnoremap <leader>y "+y
+ nnoremap <leader>Y "+yg_
+ nnoremap <leader>y "+y
+ nnoremap <leader>yy "+yy
+
+" Paste from clipboard
+ nnoremap <leader>p "+p
+ nnoremap <leader>P "+P
+ vnoremap <leader>p "+p
+ vnoremap <leader>P "+P
+
+" Enable autocompletion:
+ set wildmode=longest,list,full
+ set wildmenu
+ imap <tab> <C-N>
+
+" Automatically deletes all tralling whitespace on save.
+ autocmd BufWritePre * %s/\s\+$//e
+
+" Runs a script that cleans out tex build files whenever I close out of a .tex file.
+ autocmd VimLeave *.tex !texclear %
+
+" Disables automatic commenting on newline:
+ autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
+
+" Join line with alt
+ nnoremap <M-j> J
+
+" Easier tab navigation (similar to qutebrowser)
+ nnoremap J :tabn<cr>
+ nnoremap K :tabp<cr>
+
+" C-T for new tab
+ nnoremap <C-t> :tabe<Space>
+
+" Navigating with guides
+ inoremap <Space><Tab> <Esc>/<++><Enter>"_c4l
+ vnoremap <Space><Tab> <Esc>/<++><Enter>"_c4l
+ map <Space><Tab> <Esc>/<++><Enter>"_c4l
+ inoremap ;gui <++>
+ inoremap жпгш <++>
+ inoremap ñgui <++>
+
+" For normal mode when in terminals (in X I have caps mapped to esc, this replaces it when I don't have X)
+ inoremap jw <Esc>
+ inoremap wj <Esc>
+
+" latex pdf viewer
+ let g:livepreview_previewer = 'zathura'
+
+" To avoid switching between keyboards
+ set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz
+
+" neomake
+ let g:neomake_javascript_enabled_makers = ['eslint']
+ let g:neomake_javascript_eslint_exe = $PWD .'/node_modules/.bin/eslint'
+ call neomake#configure#automake('w')