Created
November 23, 2021 14:06
-
-
Save kickbase/77f6cd7a1654097eebbf7f53fb553518 to your computer and use it in GitHub Desktop.
[ Vim ] Kaoriya Vim settings.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"-------Preferences--------" | |
set ttyfast | |
set t_Co=256 | |
set hidden | |
set autoread | |
set history=2000 | |
set noswapfile | |
set backspace=start,eol,indent | |
set ambiwidth=double | |
set shortmess+=I | |
set nrformats= | |
set nobackup | |
set smartindent | |
set tabstop=4 | |
set autoindent | |
set expandtab | |
set shiftwidth=4 | |
set showmatch | |
set matchtime=1 | |
set formatoptions-=c | |
set smarttab | |
set spelllang=en,cjk | |
set noundofile | |
set isk+=- | |
set clipboard=unnamed,autoselect | |
set belloff=all | |
"-------Keymap-----" | |
set pastetoggle=<f5> | |
map <f6> :!notepad %<CR> | |
inoremap <C-c> <ESC> | |
noremap <C-c><C-c> :nohlsearch<Cr><Esc> | |
set whichwrap=b,s,h,l,<,>,[,],~ | |
let mapleader = "\<Space>" | |
nnoremap Y y$ | |
nnoremap + <C-a> | |
nnoremap - <C-x> | |
cnoremap <C-p> <Up> | |
cnoremap <C-n> <Down> | |
nnoremap j gj | |
nnoremap k gk | |
nnoremap gj j | |
nnoremap gk k | |
nnoremap <silent> <C-l> :<C-u>nohlsearch<CR><C-l> | |
cnoremap <expr> %% getcmdtype() == ':' ? expand('%:h').'/' : '%%' | |
noremap ; : | |
noremap : ; | |
"-------Look&Feel-----" | |
colorscheme distinguished | |
"colorscheme badwolf | |
set ruler | |
set number | |
syntax on | |
filetype on | |
filetype plugin on | |
filetype indent on | |
set title | |
set showcmd | |
set cmdheight=2 | |
set list | |
set listchars=tab:>-,trail:-,nbsp:%,extends:>,precedes:<,eol:< | |
set display=lastline | |
set pumheight=10 | |
autocmd GUIEnter * set transparency=240 | |
au GUIEnter * simalt ~x | |
"set guifont=Myrica_M:h20 | |
set guifont=Ricty_Diminished:h14 | |
"-------Syntax-----" | |
au BufRead,BufNewFile *.md set filetype=markdown | |
"-------StatusLine-----" | |
augroup WordCount | |
autocmd! | |
autocmd BufWinEnter,InsertLeave,CursorHold * call WordCount('char') | |
augroup END | |
let s:WordCountStr = '' | |
let s:WordCountDict = {'word': 2, 'char': 3, 'byte': 4} | |
function! WordCount(...) | |
if a:0 == 0 | |
return s:WordCountStr | |
endif | |
let cidx = 3 | |
silent! let cidx = s:WordCountDict[a:1] | |
let s:WordCountStr = '' | |
let s:saved_status = v:statusmsg | |
exec "silent normal! g\<c-g>" | |
if v:statusmsg !~ '^--' | |
let str = '' | |
silent! let str = split(v:statusmsg, ';')[cidx] | |
let cur = str2nr(matchstr(str, '\d\+')) | |
let end = str2nr(matchstr(str, '\d\+\s*$')) | |
if a:1 == 'char' | |
let cr = &ff == 'dos' ? 2 : 1 | |
let cur -= cr * (line('.') - 1) | |
let end -= cr * line('$') | |
endif | |
let s:WordCountStr = printf('%d/%d', cur, end) | |
endif | |
let v:statusmsg = s:saved_status | |
return s:WordCountStr | |
endfunction | |
set showcmd | |
set laststatus=2 | |
set statusline=[%n] | |
set statusline+=%{matchstr(hostname(),'\\w\\+')}@ | |
set statusline+=%<%F | |
set statusline+=%m | |
set statusline+=%r | |
set statusline+=%h | |
set statusline+=%w | |
set statusline+=[%{&fileformat}] | |
set statusline+=[%{has('multi_byte')&&\&fileencoding!=''?&fileencoding:&encoding}] | |
set statusline+=%y | |
"-------Netrw-----" | |
"http://blog.tojiru.net/article/234400966.html | |
let g:netrw_liststyle = 3 | |
let g:netrw_list_hide = 'CVS,\(^\|\s\s\)\zs\.\S\+' | |
let g:netrw_altv = 1 | |
let g:netrw_alto = 1 | |
"-------Plugins-----" | |
runtime macros/matchit.vim | |
"-------Search--------" | |
set incsearch | |
set ignorecase | |
set smartcase | |
set wrapscan | |
set hlsearch | |
nnoremap <Leader>/ /\v | |
nnoremap <Leader>? ?\v | |
set grepprg=ack\ --nogroup\ --column\ $* | |
set grepformat=%f:%l:%c:%m | |
"-------Command--------" | |
nnoremap & :&&<CR> | |
xnoremap & :&&<CR> | |
xnoremap * :<C-u>call <SID>VSetSearch()<CR>/<C-R>=@/<CR><CR> | |
xnoremap # :<C-u>call <SID>VSetSearch()<CR>?<C-R>=@/<CR><CR> | |
function! s:VSetSearch() | |
let temp = @s | |
norm! gv"sy | |
let @/ = '\V' . substitute(escape(@s, '/\'), '\n', '\\n', 'g') | |
let @s = temp | |
endfunction | |
command! -nargs=0 -bar Qargs execute 'args' QuickfixFilenames() | |
function! QuickfixFilenames() | |
let buffer_numbers = {} | |
for quickfix_item in getqflist() | |
let buffer_numbers[quickfix_item['bufnr']] = bufname(quickfix_item['bufnr']) | |
endfor | |
return join(map(values(buffer_numbers), 'fnameescape(v:val)')) | |
endfunction | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment