mirror of
https://github.com/pentoo/pentoo-overlay
synced 2025-12-06 08:25:01 +01:00
253 lines
5.7 KiB
VimL
253 lines
5.7 KiB
VimL
""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" GENERAL CONFIGURATION
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Turn off vi compatibility mode
|
|
set nocompatible
|
|
|
|
set modeline
|
|
set modelines=10
|
|
|
|
"set spell spelllang=en
|
|
filetype off
|
|
|
|
" Enable filetype plugin
|
|
filetype indent plugin on
|
|
|
|
" Sets how many lines of history VIM has to remember
|
|
set history=500
|
|
|
|
" Set to auto read when a file is changed from the outside
|
|
set autoread
|
|
|
|
" When vimrc is edited, reload it
|
|
autocmd! bufwritepost vimrc source ~/.vimrc
|
|
|
|
|
|
" Annoying bracket highliting bullshit
|
|
let loaded_matchparen = 1
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" USER INTERFACE CONFIGURATION
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Turn on WiLd menu
|
|
set wildmenu
|
|
set showcmd
|
|
set hlsearch
|
|
set incsearch
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" COLORS AND FONTS
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
"Turn on syntax highlighting
|
|
syntax on
|
|
"colorscheme inkpot
|
|
|
|
set encoding=utf8
|
|
try
|
|
lang en_US
|
|
catch
|
|
endtry
|
|
|
|
" visibile characters to show for :list!
|
|
highlight NonText guifg=#4a4a59
|
|
highlight SpecialKey guifg=#4a4a59
|
|
|
|
" map <leader>l to toggle the list! option
|
|
" this will show or hide EOL and tab characters
|
|
nmap <leader>l :set list!<cr>
|
|
nmap <leader>f :!./sync-files<cr>
|
|
set listchars=tab:>\ ,eol:¬
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Text, tab and indent related
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
" Expand tabs into spaces
|
|
set expandtab
|
|
set shiftwidth=2 tabstop=2
|
|
set smarttab
|
|
set autoindent
|
|
set smartindent
|
|
set wrap
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" set magic makes vim search behave like extended
|
|
" regular expressions
|
|
set magic
|
|
set hidden
|
|
|
|
" Show matching brackets when text indicator is over them
|
|
set showmatch
|
|
|
|
" How many tenths of a second to blink
|
|
set mat=2
|
|
|
|
" TODO: deal with these:
|
|
set nomodeline
|
|
set ignorecase
|
|
set smartcase
|
|
set backspace=indent,eol,start
|
|
set nostartofline
|
|
set ruler
|
|
set laststatus=2
|
|
set confirm
|
|
set visualbell
|
|
set t_vb=
|
|
set cmdheight=2
|
|
set number
|
|
set notimeout ttimeout ttimeoutlen=200
|
|
set pastetoggle=<F11>
|
|
|
|
"set colorcolumn=80
|
|
hi ColorColumn ctermbg=blue guibg=blue
|
|
|
|
let g:syntastic_check_on_open=1
|
|
let g:syntastic_sh_shellcheck_args="--external-sources --source-path=."
|
|
|
|
" map ctrl+L to turn off highlighting (after a search)
|
|
nnoremap <C-L> :nohl<CR><C-L>
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Files, backups, and undo
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Setup backups in the scratch directory
|
|
try
|
|
set backup
|
|
set backupdir=~/.vim-scratch//
|
|
set writebackup
|
|
catch
|
|
endtry
|
|
|
|
" Keep swapfiles in the scratch directory
|
|
try
|
|
set directory=~/.vim-scratch//
|
|
set swapfile
|
|
catch
|
|
endtry
|
|
|
|
" Keep persistant undo files in the scratch directory
|
|
try
|
|
set undodir=~/.vim-scratch//
|
|
set undofile
|
|
catch
|
|
endtry
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Encryption
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" Set Encryption Type ("crypt method")
|
|
setlocal cm=blowfish
|
|
|
|
" Based on some of the tips at http://stelfox.net/blog/2013/11/using-vim-as-your-password-manager/
|
|
|
|
" This disables additional files that vim may write copies to such as swap files
|
|
" and backups, prevents dangerous shell commands, and prevents vim from storing a
|
|
" history of commands.
|
|
autocmd BufReadPost * if &key != "" | set noswapfile nowritebackup viminfo= nobackup noshelltemp history=0 secure | endif
|
|
|
|
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
" File Cleanup
|
|
"""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
" autocmd BufWritePre *.rb,*.js,*.sh :call <SID>StripTrailingWhitespaces()
|
|
|
|
nnoremap <silent> <F5> :call <SID>StripTrailingWhitespaces()<CR>
|
|
" Function from
|
|
" http://vimcasts.org/episodes/tidying-whitespace/
|
|
function! <SID>StripTrailingWhitespaces()
|
|
" preparation: save last search, and cursor position.
|
|
let _s=@/
|
|
let l = line(".")
|
|
let c = col(".")
|
|
" Do the business:
|
|
%s/\s\+$//e
|
|
" Clean up: restore previous search history, and
|
|
" cursor position
|
|
let @/=_s
|
|
call cursor(l, c)
|
|
endfunction
|
|
|
|
|
|
" Support Pago filetype for screenplay editing
|
|
filetype on
|
|
filetype plugin on
|
|
au BufRead,BufNewFile *.pago set filetype=pago
|
|
|
|
if filereadable(".vim.custom")
|
|
so .vim.custom
|
|
endif
|
|
" Base16 Random (https://github.com/chriskempson/base16)
|
|
" Scheme: HUSL
|
|
"
|
|
|
|
|
|
" GUI Base16 Color Definitions
|
|
let s:gui00 = "090705"
|
|
let s:gui01 = "181411"
|
|
let s:gui02 = "2b2620"
|
|
let s:gui03 = "463e36"
|
|
let s:gui04 = "685c52"
|
|
let s:gui05 = "918173"
|
|
let s:gui06 = "c1ad9a"
|
|
let s:gui07 = "eae1da"
|
|
let s:gui08 = "80a35c"
|
|
let s:gui09 = "b88ecf"
|
|
let s:gui0A = "71a297"
|
|
let s:gui0B = "ce7a97"
|
|
let s:gui0C = "ae87c4"
|
|
let s:gui0D = "d2658d"
|
|
let s:gui0E = "b0906e"
|
|
let s:gui0F = "829fb2"
|
|
|
|
" Terminal Base16 Color Definitions
|
|
let s:cterm00 = "00"
|
|
let s:cterm03 = "08"
|
|
let s:cterm05 = "07"
|
|
let s:cterm07 = "15"
|
|
let s:cterm08 = "01"
|
|
let s:cterm0A = "03"
|
|
let s:cterm0B = "02"
|
|
let s:cterm0C = "06"
|
|
let s:cterm0D = "04"
|
|
let s:cterm0E = "05"
|
|
if exists('base16colorspace') && base16colorspace == "256"
|
|
let s:cterm01 = "18"
|
|
let s:cterm02 = "19"
|
|
let s:cterm04 = "20"
|
|
let s:cterm06 = "21"
|
|
let s:cterm09 = "16"
|
|
let s:cterm0F = "17"
|
|
else
|
|
let s:cterm01 = "10"
|
|
let s:cterm02 = "11"
|
|
let s:cterm04 = "12"
|
|
let s:cterm06 = "13"
|
|
let s:cterm09 = "09"
|
|
let s:cterm0F = "14"
|
|
endif
|
|
|
|
" Theme Setup
|
|
hi clear
|
|
syntax reset
|
|
let g:colors_name = "base16-random"
|
|
hi Comment ctermfg=lightblue
|
|
" Highlighting function
|
|
fun! <SID>hi(group, guifg, guibg, ctermfg, ctermbg, attr)
|
|
if a:guifg != ""
|
|
exec "hi " . a:group . " guifg=#" . a:guifg
|
|
endif
|
|
if a:guibg != ""
|
|
exec "hi " . a:group . " guibg=#" . a:guibg
|
|
endif
|
|
if a:ctermfg != ""
|
|
exec "hi " . a:group . " ctermfg=" . a:ctermfg
|
|
endif
|
|
if a:ctermbg != ""
|
|
exec "hi " . a:group . " ctermbg=" . a:ctermbg
|
|
endif
|
|
if a:attr != ""
|
|
exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr
|
|
endif
|
|
endfun
|