dotfiles/.vimrc
2020-08-18 13:12:52 +02:00

133 lines
3.6 KiB
VimL

nnoremap <Left> :echo "No left for you!"<CR>
vnoremap <Left> :<C-u>echo "No left for you!"<CR>
inoremap <Left> <C-o>:echo "No left for you!"<CR>
nnoremap <Right> :echo "No right for you!"<CR>
vnoremap <Right> :<C-u>echo "No right for you!"<CR>
inoremap <Right> <C-o>:echo "No right for you!"<CR>
nnoremap <Up> :echo "No left up you!"<CR>
vnoremap <Up> :<C-u>echo "No up for you!"<CR>
inoremap <Up> <C-o>:echo "No up for you!"<CR>
nnoremap <Down> :echo "No Down for you!"<CR>
vnoremap <Down> :<C-u>echo "No Down for you!"<CR>
inoremap <Down> <C-o>:echo "No Down for you!"<CR>
" Basic vim settings
set title
set number
set laststatus=2
set encoding=utf-8
set autoindent
set nocompatible
set complete=.,w,b,u,t,i,kspell
syntax on
nnoremap <SPACE> <Nop>
let mapleader=" "
map <Leader>ss mm[sz=1<Return>`m
filetype indent plugin on
" Global tab settings
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
set relativenumber
" Pathogen
execute pathogen#infect()
" Spellcheck
set spellfile=~/.vim/spell/en.utf-8.add
" vimwiki
let wiki_1 = {}
let wiki_1.path = '~/Nextcloud/vimwiki'
let wiki_1.syntax = 'markdown'
let wiki_1.ext = '.md'
let wiki_2 = {}
let wiki_2.path = '~/Nextcloud/vimwiki/suse'
let wiki_2.syntax = 'markdown'
let wiki_2.ext = '.md'
let wiki_3 = {}
let wiki_3.path = '~/Nextcloud/vimwiki/private'
let wiki_3.syntax = 'markdown'
let wiki_3.ext = '.md'
let g:vimwiki_list = [wiki_1, wiki_2, wiki_3]
" Set to show invisibles (tabs & trailing spaces) & their highlight color
set list listchars=tab:»\ ,trail
" Mark characters 80+ on each line with red color
function! Highlight()
highlight OverLength ctermbg=red ctermfg=white guibg=#592929
match OverLength /\%81v.\+/
endfunction
" remaps
noremap <Leader>_h :call Highlight()<CR>
nmap <F2> i**<C-R>=strftime("%Y-%m-%d")<CR>**<Esc>
imap <F2> **<C-R>=strftime("%Y-%m-%d")<CR>**<CR>
""""""""""""""""""""
" GnuPG Extensions "
""""""""""""""""""""
" sudo zypper install vim-plugin-gnupg
let g:GPGDefaultRecipients=[
\"Jonas Forsberg <jonas@forsberg.co>",
\"Jonas Forsberg <jonas.forsberg@suse.com>"
\]
" Tell the GnuPG plugin to armor new files.
let g:GPGPreferArmor=1
" Tell the GnuPG plugin to sign new files.
let g:GPGPreferSign=1
augroup GnuPGExtra
" Set extra file options.
autocmd BufReadCmd,FileReadCmd *.\(gpg\|asc\|pgp\) call SetGPGOptions()
" Automatically close unmodified files after inactivity.
autocmd CursorHold *.\(gpg\|asc\|pgp\) quit
augroup END
function SetGPGOptions()
" Set updatetime to 1 minute.
set updatetime=60000
" Fold at markers.
set foldmethod=marker
" Automatically close all folds.
set foldclose=all
" Only open folds with insert commands.
set foldopen=insert
endfunction
if has("autocmd")
" To spell check all git commit messages
au BufNewFile,BufRead COMMIT_EDITMSG set spelllang=en_us spell nonumber nolist wrap linebreak
" To spell check all Markdown files
autocmd FileType markdown setlocal spell
autocmd BufRead,BufNewFile *.rst setlocal spell
" Set filetype tab settings
autocmd FileType python,doctest set ai ts=4 sw=4 sts=4 et
endif
" vim-instant-markdown settings
"Uncomment to override defaults:
let g:instant_markdown_slow = 0
let g:instant_markdown_autostart = 0
let g:instant_markdown_open_to_the_world = 0
let g:instant_markdown_allow_unsafe_content = 0
let g:instant_markdown_allow_external_content = 1
"let g:instant_markdown_mathjax = 1
"let g:instant_markdown_browser = "firefox --new-window"
"let g:instant_markdown_logfile = '/tmp/instant_markdown.log'
"let g:instant_markdown_autoscroll = 0
"let g:instant_markdown_port = 8888
"let g:instant_markdown_python = 1