時々やってる人を見てて、人に見せても恥ずかしくなくなってきたらやろうと思ってたんです。こまめにコメント入れてるので解説はいいかなー。
vimrc
vimrc
" ディレクトリ設定せんとなんか怖くない?if( has('win32')&& !has('nvim'))cd~/vimfiles
elseif has('nvim')cd~/AppData/Local/nvim
elseif has('unix')cd~/.vimendiflet $VIMFILES=getcwd()" 文字コード関係set encoding=utf-8set fileencoding=utf-8set fileencodings=ucs-bom,utf-8,cp932,iso-2022-jp,euc-jisx0213,euc-jp,guess
if has ('win32')set fileformat=dos
set fileformats=dos,unix,mac
elseif has ('unix')set fileformat=unix
set fileformats=unix,dos,mac
endif" 検索周りset ignorecase smartcase
set hlsearch
" diff関連if has ('win32')set diffexpr=MyDiff()endiffunction! MyDiff()letopt=""if&diffopt =~"icase"letopt=opt."-i "endifif&diffopt =~"iwhite"letopt=opt."-b "endifsilent execute '!diff.exe -a --binary '.opt.v:fname_in .' '.v:fname_new .'" > "'.v:fname_out
endfunctionset diffopt=filler,vertical" 編集関係set autoindent
set backspace=indent,eol,startset wildmenu
set clipboard+=unnamed
" 画面表示set tabstop=4set shiftwidth=4setnumberset ruler
set list
set listchars=tab:>-,trail:-set wrap
set laststatus=2set cmdheight=2set showcmd
set title
set cursorline
set splitbelow
set splitright
set noequalalways
set winwidth=1set winminwidth=1set winheight=1set winminheight=1set scrolloff=5" カラースキーム設定はvim-plugのあとに行きました。"lightline用だけどvimネイティブの機能なので…set statusline=2" guioption関係(多いのでまとめ)set guioptions-=T
set guioptions-=lset guioptions-=rset guioptions-=L
set guioptions-=R
set mouse=nr
" バックアップset backup
if has('win32')set backupdir=E:/document/backup
elseif has('unix')set backupdir=~/backup
endifset undodir=./autogen
" viminfoif( has('win32')&& !has('nvim'))set viminfo='100,<50,s10,h,rA:,rB:let&viminfofile = $VIMFILES.'/viminfo.win'elseif has('nvim')set viminfo='100,<50,s10,h,rA:,rB:./nviminfo.nvim
elseif has('unix')set viminfo='100,<50,s10,h,rA:,rB:n~/.vim/viminfo.bow
endif" 開いたファイルのディレクトリに自動で移動するset autochdir
" シェル設定if has('win32')setshell=powershell
set shellcmdflag=-cset shellquote=\"
set shellxquote=endif" 日本語の文章構造に対応するやつset matchpairs+=(:),「:」,『:』,【:】,[:],<:>
" 三点リードおかしいやん…set ambiwidth=double
" 日本語入力の便宜 (thanks, kaoriya.)if has('multi_byte_ime')|| has('xim')" IME ON時のカーソルの色を設定(設定例:紫)" highlight CursorIM guibg=Purple guifg=NONE" 挿入モード・検索モードでのデフォルトのIME状態設定set iminsert=0 imsearch=0if has('xim')&& has('GUI_GTK')" XIMの入力開始キーを設定:" 下記の s-space はShift+Spaceの意味でkinput2+canna用設定set imactivatekey=s-space
endif" 挿入モードでのIME状態を記憶させない場合、次行のコメントを解除
inoremap <silent><ESC><ESC>:set iminsert=0<CR>endif" 脱初心者を目指すVimmerに|ススメしたいVimプラグインや.vimrcの設定" https://qiita.com/jnchito/items/5141b3b01bced9f7f48fr最後のカーソル位置を復元するif has("autocmd")
autocmd BufReadPost *
\if line("'\"")>0&& line ("'\"")<= line("$")| \ exe "normal! g'\""| \endifendif" netrw.vim用letg:netrw_liststyle=1letg:netrw_mousemaps=0"他のファイル読まないように…if!exists('s:isReload')" vim-pluglet $MYPLUG=$VIMFILES.'/vim-plug/vim-plug.conf.vim'
source $MYPLUG
" 自作コマンド/リマップ群のローダー
source remap.vim
runtime! command.d/*.vimendiflets:isReload=1
gvimrc
gvimrc
" 変数定義lets:winfont='Ricty_Diminished_for_Powerline:h12'lets:unixfont='a14,r14,k14'lets:winprintfont=s:winfontlets:unixprintfont=s:unixfont" フォントif has('win32')let&guifont =s:winfontset linespace=1elseif has('xfontset')let&guifontset =s:unixfontendif" 印刷関係if has('printer')if has('win32')let&printfont =s:winprintfontendifendif" Hack #120: gVim でウィンドウの位置とサイズを記憶する" http://vim-jp.org/vim-users-jp/2010/01/28/Hack-120.htmlletg:save_window_file= expand($VIMFILES.'/.vimwinpos')
augroup SaveWindow
autocmd!
autocmd VimLeavePre * calls:save_window()function!s:save_window()letoptions=[ \'set columns='.&columns, \'set lines='.&lines, \'winpos '. getwinposx().' '. getwinposy(), \]call writefile(options,g:save_window_file)endfunction
augroup END
if filereadable(g:save_window_file)
execute 'source'g:save_window_fileendif
remap.vim
remap.vim
" 甘えるな、hjklを使え
noremap <Left><Nop>
noremap <Down><Nop>
noremap <Up><Nop>
noremap <Right><Nop>
inoremap <Left><Nop>
inoremap <Down><Nop>
inoremap <Up><Nop>
inoremap <Right><Nop>
nnoremap <Down>:<Down>
nnoremap <Up>:<Up>
nnoremap <S-Down> /<Down>
nnoremap <S-Up> /<Up>" 赤鼻がうっさい
map <MiddleMouse><Nop>
imap <MiddleMouse><Nop>
cmap <MiddleMouse><Nop>" 試しにリーダーキーを変えてみるlet mapleader ="\<Space>"" 検索を必ずVeryMagicに
nnoremap / /\v" ハイライトうざったいんじゃ!
noremap <Esc><Esc>:noh<CR>" ggVGがめんどい
nnoremap g<C-a> ggVG
" 個人的にこれが一番直交感ある
vnoremap v<Esc>V
" インサートモード中の^Hに対応して^Lで<Del>させる様に
inoremap <C-l><Del>" 短縮入力用"どっちにしても遠すぎるわ
inoremap <C-]><C-]> \|" Markdownの作表
inoremap <C-]>ll:--\|
inoremap <C-]>cc:-:\|
inoremap <C-]>rr --:\|" htmlのエスケープ
inoremap <C-]><Space>
inoremap <C-]>& &
inoremap <C-]><<
inoremap <C-]>,<
inoremap <C-]>>>
inoremap <C-]>.>
inoremap <C-]>" "
" <Leader>関係" 普通のキーマップはあまり汚さないように" 句読点を強引に挿入
nnoremap <Leader>,i,<Esc>
nnoremap <Leader>.i.<Esc>
nnoremap <Leader>? i?<Esc>
nnoremap <Leader>!i!<Esc>
nnoremap <Leader>/ i/<Esc>
nnoremap <Leader>\ i\<Esc>
nnoremap <Leader>:i:<Esc>
nnoremap <Leader><Space>i<Esc>
nnoremap <Leader><S-Space>i…<Esc>" IMEのモードを指定して挿入モードに入れないだろうか?
nnoremap <Leader>ii^^
nnoremap <Leader>aa^^
nnoremap <Leader>I I^^
nnoremap <Leader>A A^^
nnoremap <Leader>oo^^
nnoremap <Leader>O O^^
" indent guidesとバッティングしたので
nmap <silent><Leader><C-i><Plug>IndentGuidesToggle
nnoremap <Leader>h ^
nnoremap <Leader>l $
" Leaderメニュー
noremap <Leader>ff :Ex
noremap <Leader>mm :Pipe marks<CR>
noremap <Leader>cc:Pipe changes<CR>
noremap <Leader>jj :Pipe jumps<CR>" 以下2つは recents.vim 参照
noremap <Leader>rr :Pipe! RRoldfiles \v
noremap <Leader>bb :Pipe BBls \v" 設定ファイル読み込み用" キーマップの為に一部ファイルのパスを環境変数にlet $MYCOMMAND = $VIMFILES.'/command.d'let $MYREMAP = $VIMFILES.'/remap.vim'
noremap <Leader>vv :e $MYVIMRC<CR>
noremap <Leader>vg :e $MYGVIMRC<CR>
noremap <Leader>vc :e $MYCOMMAND<CR>
noremap <Leader>vc<CR>:e $MYCOMMAND<CR>
noremap <Leader>vr :e $MYREMAP<CR>
noremap <Leader>vp :e $MYPLUG<CR>
noremap <Leader>vv!:e! $MYVIMRC<CR>
noremap <Leader>vg!:e! $MYGVIMRC<CR>
noremap <Leader>vc!:e! $MYCOMMAND<CR>
noremap <Leader>vr!:e! $MYREMAP<CR>
noremap <Leader>vp!:e! $MYPLUG<CR>" バッファ増えすぎ問題
nnoremap <Leader>bd:%bdelete
nnoremap <Leader>bw:%bwipeout" source読み込み用
noremap <Leader>ss :source<Space>%<CR>" vim-plug用
noremap <leader>pp:PlugInstall<CR>" MarkDown Preview
noremap <Leader>md :!start"vivaldi.exe""%"<CR>" Width=80想定のドキュメントのウィンドウサイズを読みやすく
noremap <Leader>ww :vertres80<CR>" qiitactl用
noremap <Leader>qq :QiitaFiles<CR>" collar.vim
nnoremap <silent><Leader><CR>:DeStain<CR>
vim-plug.conf.vim
vim-plug.conf.vim
cd $VIMFILES
let $VIMPLUGGED=$VIMFILES.'/vim-plug'call plug#begin($VIMPLUGGED)
Plug 'itchyny/lightline.vim'
Plug 'simeji/winresizer'
Plug 'xolox/vim-misc'| Plug 'xolox/vim-session'" Plug 'vim-scripts/netrw.vim'
Plug 'yuratomo/w3m.vim'" Plug 'vim-scripts/ViewOutput'
Plug 'vim-jp/autofmt'
Plug 'vim-jp/vimdoc-ja'
Plug 'deton/jasegment.vim'
Plug 'deton/jasentence.vim'
Plug 'nathanaelkane/vim-indent-guides'
Plug 'tpope/vim-surround'
Plug 'flazz/vim-colorschemes'" Plug 'thinca/vim-splash'" Plug 'thinca/vim-quickrun'call plug#end()" vim-plugロード後の各プラグインの設定" 多くなりそうならconf.vimへ" runtimeロードは出来なかったので要source記述" lightline.vim
source $VIMPLUGGED/lightline.conf.vim" vim-sessionif has ('win32')letg:session_directory= $VIMFILES.'/sessions/win'elseif has ('unix')letg:session_directory= $VIMFILES.'/sessions/bow'endififv:servername=~'VIM$'letg:session_autosave='yes'letg:session_autoload='yes'letg:session_autosave_periodic=0elseletg:session_autosave='no'letg:session_autoload='no'letg:session_autosave_periodic=0endif" newrw.vim"let g:netrw_sort_sequence='[\/]$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$'"let g:netrw_sort_sequence='[\/]$'"let g:netrw_sort_options='n'" w3c-vimif has('win32')letg:w3m#command ='w3m.exe'endifletg:w3m#search_engine ='http://www.google.co.jp/search?ie='.&encoding .'&q=%s'
cnoremap wwwm W3m
" vim-indent-guidesletg:indent_guides_enable_on_vim_startup=0letg:indent_guides_default_mapping=0" vim-surround" 上から順番に、l, L, 9, 0, ,(comma), .(period), *, &, qletg:surround_108="「\r」"letg:surround_76="『\r』"letg:surround_57="( \r )"letg:surround_48="(\r)"letg:surround_44="< \r >"letg:surround_46="<\r>"letg:surround_42="**\r**"letg:surround_38="<\r>"letg:surround_113=""\r""" vim-colorschemescolorscheme janah