dotfiles/neovim/.config/nvim/init.vim

71 lines
1.8 KiB
VimL

""Basic stuff
set number
set relativenumber
set encoding=utf8
set clipboard+=unnamedplus
set nofoldenable
""Spaces instead of tabs
set expandtab
set tabstop=2
set shiftwidth=2
""Don't litter swp files everywhere
set backupdir=~/.cache
set directory=~/.cache
""Ignore case and highlight matches when searching
set ignorecase
set hlsearch
""Persistent undo
set undofile
""Resize line number colum
set numberwidth=2
""Keybindings
set pastetoggle=<F2>
let mapleader="\<Space>"
nnoremap <leader>n :noh<cr>
"Move the current line up or down
nnoremap <leader>k :m-2<cr>==
nnoremap <leader>j :m+<cr>==
""Markdown
autocmd Filetype markdown Goyo
let g:markdown_fenced_languages = ['cpp', 'python', 'java', 'sql']
let g:vim_markdown_math=1
""Snippets
let g:UltiSnipsExpandTrigger = '<tab>'
let g:UltiSnipsJumpForwardTrigger = '<tab>'
let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
""Vim-plug
call plug#begin('~/.config/nvim/plugged')
Plug 'plasticboy/vim-markdown', { 'for': 'markdown' }
Plug 'junegunn/goyo.vim', {'for': 'markdown', 'on': 'Goyo' }
Plug 'SirVer/ultisnips', { 'for': 'markdown' }
Plug 'Raimondi/delimitMate'
Plug 'cocopon/iceberg.vim'
Plug 'LnL7/vim-nix'
call plug#end()
""Colors
colorscheme iceberg
set termguicolors
""Disabe status line
set laststatus=0
""Set Markdown filetype for neomutt
autocmd BufNewFile,BufRead /tmp/neomutt* set filetype=markdown
""Quit whether Goyo is active or not
function! s:goyo_enter()
let b:quitting = 0
let b:quitting_bang = 0
call feedkeys('jk')
autocmd QuitPre <buffer> let b:quitting = 1
cabbrev <buffer> q! let b:quitting_bang = 1 <bar> q!
endfunction
function! s:goyo_leave()
if b:quitting_bang
qa!
else
qa
endif
endfunction
autocmd! User GoyoEnter nested call <SID>goyo_enter()
autocmd! User GoyoLeave nested call <SID>goyo_leave()