注意
この記事はobsoleteです。あたらしいvimrcが僕がMacBookで必ず使う43のソフトウェア達にありますのでそちらをご参照ください。
なんだか最近vimrcとか、環境をさらすのがはやってるらしいね。というわけで公開いたします。検索から来た人の役に少しでも立ってくれれば、と。
かなり特殊なところが多い・・・ですが、とてもおもしろい部分も多いと思うので是非見てやってください。あ、でも変なこともしてるので理解せずそのまま使うのはあんまりおすすめできない・・・かも。
あ、あとDebianでしか試してないんで、Fedoraだとここはこうだよ、的なことがあったら是非教えてください。
スクリーンショット
.vimrc
1 |
” .vimrc
1 |
” kcrt <kcrt kcrt.net>
1 |
“
1 |
scriptencoding
1 |
utf |
–8
1 |
setnocompatible” 拡張機能を有効にする
1 |
” —– 最初から入ってる奴 ———————–
1 |
if
1 |
&t_Co |
>2||has(“gui_running”)” カラーディスプレイ
1 |
syntaxon
1 |
endif
1 |
filetypepluginindenton
1 |
augroup
1 |
vimrcEx |
autocmdFileType
1 |
text |
setlocaltextwidth
1 |
=78 |
autocmdBufReadPost
1 |
* |
¥if
1 |
line( |
“‘¥””
1 |
) |
>0&&
1 |
line( |
“‘¥””
1 |
) |
<=
1 |
line( |
“$”
1 |
) | |
¥
1 |
exe |
“normal g`¥””
1 |
| |
¥endif
1 |
augroup
1 2 3 |
END <span style="background-color: #008080;"><span style="color: #e0e0e0;"><i>" ===== ユーザーインターフェース関係 =============</i></span></span> |
” —– 設定 ————————————-
1 |
setbackspace
1 |
=2 |
” <BS>の動作設定
1 |
sethistory
1 |
=50 |
” :コマンドの履歴数
1 |
setshowcmd” コマンド表示
1 |
setlaststatus
1 |
=2 |
” 最下部情報行の行数
1 |
setstatusline
1 |
=%h%w%f¥ %m%#RO#%r%#StatusLine#%y%{'['.(&fenc!=''?&fenc |
:
1 |
&enc).']['.&ff.']'}%=%4v¥ %l/%L¥ (%p%%) |
sethlsearch” 検索時ハイライト有効
1 |
” —– マウス ———————————–
1 |
if
1 |
&term |
==“screen”
1 |
setmouse
1 |
=a |
” マウス有効
1 |
setttymouse
1 |
=xterm2 |
endif
1 |
” —– タブインターフェース(またはバッファ) —–
1 |
map
1 |
Q gq |
” C-Tabでタブが使えるときはタブを切り替え
1 |
” 使えない場合はバッファの切り替えを行う
1 |
if(
1 |
exists |
(“:tab”))
1 |
nmap<C-Tab>
1 |
:tabn |
<CR>
1 |
nmap<C-S-Tab>
1 |
:tabprev |
<CR>
1 |
else
1 |
nmap<C-Tab>
1 |
:bn |
<CR>
1 |
nmap<C-S-Tab>
1 |
:bp |
<CR>
1 |
endif
1 |
“C-→とC-←をC-Tab, C-S-Tabと同様の操作にする
1 |
nmap^[
1 |
[C |
<C-Tab>
1 |
nmap^[
1 |
[D |
<C-S-Tab>
1 |
” タブラインの表記
1 |
settabline
1 |
=%!MyTabLine() |
“後述
1 |
” —– コマンド略記——————————
1 |
ca
1 |
man |
help
1 |
” —– 補完 ————————————-
1 |
setcomplete
1 |
=. |
,
1 |
w |
,
1 |
k |
,
1 |
b |
,
1 |
u |
,
1 |
t |
,
1 |
i |
if(
1 |
exists |
(‘*pumvisible’)&&
1 |
has |
(“gui”))
1 |
inoremap<expr><CR>
1 |
pumvisible() ? " |
¥<c-y>
1 |
" : " |
¥<c-g>
1 |
u |
¥<cr>
1 |
" |
inoremap<expr><Esc>
1 |
pumvisible() ? " |
¥<C-E>
1 |
":" |
¥<Esc>
1 |
" |
” inoremap <expr> <c-n> pumvisible() ? “¥<lt>c-n>” : “¥<c-n>¥<c-r>=pumvisible() ? ¥”¥¥<lt>down>¥” : ¥”¥”¥<lt>cr>”
1 |
endif
1 |
if(
1 |
exists |
(‘&omnifunc’))
1 |
imap<C-Space><C-X><C-O>
1 |
else
1 |
imap<C-Space><C-N>
1 |
endif
1 |
” —– その他のキー設定 ————————-
1 |
map<F1>
1 |
K |
nnoremap<UP>
1 |
gk |
nnoremap<DOWN>
1 2 3 |
gj <span style="background-color: #008080;"><span style="color: #e0e0e0;"><i>" ===== 編集に関連する設定 =======================</i></span></span> |
” —– 文字エンコードの設定 ———————
1 |
setfileencodings
1 |
=utf-8 |
,
1 |
shift_jis |
,
1 |
euc-jp |
setfileencoding
1 |
=utf-8 |
” デフォルトのファイルエンコーディング
1 |
setambiwidth
1 |
=double |
” 幅未定義MBSCの幅
1 |
” —– 親切設定 ———————————
1 |
setshowmatch” 対応する括弧を強調表示
1 |
setdisplay
1 |
=lastline |
” @@@表示
1 |
” —– 検索 ————————————-
1 |
setincsearch” インクリメンタルサーチ
1 |
setignorecase” 検索時大文字・小文字無効
1 |
setsmartcase” 検索時大文字・小文字自動判別
1 |
” 見つかったアイテムを自動的に中央に
1 |
nmap
1 |
n nzz |
nmap
1 |
N Nzz |
” —– タブとインデント ————————-
1 |
settabstop
1 |
=4 |
” <Tab>に対応する空白数
1 |
setshiftwidth
1 |
=4 |
” インデントに使われる空白数
1 |
setsofttabstop
1 |
=4 |
” タブとして使われる空白数
1 |
setautoindent” 自動インデント
1 |
setsmartindent” スマートインデント
1 |
<span style="background-color: #008080;"><span style="color: #e0e0e0;"><i>" ===== 動作設定 =================================</i></span></span> |
” —– バックアップ —————————–
1 |
setbackup” バックアップ有効
1 |
“
1 |
<span style="background-color: #ffff00;"><span style="color: #0000ff;">TODO</span></span> |
:フォルダがあるかどうか調べる
1 |
ifhas(“win32”)
1 |
setbackupdir
1 |
=d |
:
1 |
/kt/Backup |
else
1 |
setbackupdir
1 |
=~/.backup |
endif
1 |
” —– クリップボード —————————
1 |
nmap<C-R>
1 |
* |
<C-O>
1 |
"*p |
nmap
1 |
"*yy V"*y |
ifhas(“win32unix”)” cygwinの事です
1 |
nnoremap
1 |
"*p :r!getclip |
<CR>
1 |
vnoremap
1 |
"*y :!putclip |
<CR>
1 |
u:echo 'copyed' |
<CR>
1 |
elseifhas(“unix”)
1 |
if$TERM==“screen”
1 |
nnoremap
1 |
"*p i |
<C-O>
1 |
:!screen -X paste . |
<CR>
1 |
vnoremap
1 |
"*y :w! ~/tmp/vim-clipboard |
<CR>
1 |
:!screen -X readbuf ~/tmp/vim-clipboard |
<CR>
1 |
:echo 'copyed' |
<CR>
1 |
else
1 |
nnoremap
1 |
"*p :r ~/tmp/vim-clipboard |
<CR>
1 |
vnoremap
1 |
"*y :w! ~/tmp/vim-clipboard |
<CR>
1 |
:echo copyed' |
<CR>
1 |
endif
1 |
endif
1 |
” —– screen関係の設定 ————————-
1 |
if
1 |
&term |
=~“screen”
1 |
augroup
1 |
IsTerminal |
autocmdVimLeave
1 |
* |
silent
1 |
! exe |
‘!echo -n “^[k’.
1 |
& |
shell.‘^[¥¥”‘
1 |
autocmdBufEnter
1 |
* |
silent
1 |
! exe |
‘!echo -n “^[k’.“vim:%”.‘^[¥¥”‘
1 |
augroup
1 |
END |
endif
1 |
<span style="background-color: #008080;"><span style="color: #e0e0e0;"><i>" ===== 印刷設定 =================================</i></span></span> |
” set printfont=”ヒラギノ” -> gvimrc
1 |
<span style="background-color: #008080;"><span style="color: #e0e0e0;"><i>" ===== ファイル関連設定 =========================</i></span></span> |
” —– テンプレート —————————–
1 |
augroup
1 |
LoadTemplate |
autocmdBufNewFile
1 |
*.pl |
0
1 |
r ~/etc/template/template |
.
1 |
pl |
autocmdBufNewFile
1 |
*.php |
0
1 |
r ~/etc/template/template |
.
1 |
php |
autocmdBufNewFile
1 |
*.cpp |
0
1 |
r ~/etc/template/template |
.
1 |
cpp |
autocmdBufNewFile
1 |
*.h |
0
1 |
r ~/etc/template/template |
.h
1 |
augroup
1 |
END |
” —– ファイル別設定 —————————
1 |
augroup
1 |
filetypedetect |
autocmdBufNewFile
1 |
, |
BufRead
1 |
*.txt : |
setf
1 |
txt |
autocmdBufNewFile
1 |
, |
BufReadPre
1 |
*.howm : |
setfileformats
1 |
=dos |
,
1 |
unix |
autocmdBufNewFile
1 |
, |
BufReadPost
1 |
*.pl : |
setfiletype
1 |
=perl |
autocmdBufNewFile
1 |
, |
BufReadPost
1 |
*.pm : |
setfiletype
1 |
=perl |
autocmdBufNewFile
1 |
, |
BufRead
1 |
*.pl :map |
<F5>
1 |
:!perl |
%:p
1 |
<CR> |
autocmdBufNewFile
1 |
, |
BufRead
1 |
*.pm :map |
<F5>
1 |
:!perl |
%:p
1 |
<CR> |
autocmdBufNewFile
1 |
, |
BufRead
1 |
*.php :map |
<F5>
1 |
:!php |
%:p
1 |
<CR> |
autocmdBufNewFile
1 |
, |
BufRead
1 |
*.tex :map |
<F5>
1 |
: |
call
1 |
PreviewTeX() |
<CR>
1 |
augroup
1 |
END |
let
1 |
php_baselib |
=1
1 |
let
1 |
php_htmlInString |
=1
1 |
let
1 |
php_folding |
=1
1 |
<span style="background-color: #008080;"><span style="color: #e0e0e0;"><i>" ===== プラグイン設定 ===========================</i></span></span> |
” —– howm ————————————-
1 |
ifhas(“win32”)
1 |
let
1 |
g:howm_dir |
=“d:/kt/howm/”
1 |
else
1 |
let
1 |
g:howm_dir |
=“~/howm/”
1 |
endif
1 |
let
1 |
g:howm_filename |
=“%Y-%m.howm”
1 |
let
1 |
g:howm_fileencoding |
=“utf-8”
1 |
let
1 |
g:howm_removeEmpty |
=1
1 |
let
1 |
g:howm_instantpreview |
=1
1 |
” —– PHPManual ——————————–
1 |
auBufNewFile
1 |
, |
BufRead
1 |
*.php |
map
1 |
K ¥P |
” —– その他のプラグイン ———————–
1 |
runtime
1 |
ftplugin/man |
.vim
1 |
let
1 |
keisen_type |
=2
1 |
<span style="background-color: #008080;"><span style="color: #e0e0e0;"><i>" ===== 色設定 ===================================</i></span></span> |
sett_Co
1 |
=16 |
ifhas(“gui”)
1 |
gui |
endif
1 |
colorscheme
1 |
torte |
” —– 色の宣言(上書き) ————————-
1 |
hi
1 |
StatusLine |
guibg
1 |
= |
#4242ffguifg
1 |
=white |
gui
1 |
= |
bold
1 |
hi
1 |
Title |
guibg
1 |
=lightblue |
guifg
1 |
=white |
ctermbg
1 |
=lightblue |
ctermfg
1 |
=white |
gui
1 |
= |
bold
1 |
hi
1 |
Comment |
ctermfg
1 |
=darkgreen |
guifg
1 |
=lightgreen |
hi
1 |
Statement |
guifg
1 |
=lightyellow |
hi
1 |
Type |
ctermfg
1 |
=blue |
guifg
1 |
=lightcyan |
hi
1 |
Label |
guifg
1 |
= |
#eeee55guibg
1 |
= |
#333300ctermbg
1 |
=darkyellow |
ctermfg
1 |
=white |
hi
1 |
Pmenu |
ctermbg
1 |
=darkgray |
ctermfg
1 |
=white |
guibg
1 |
=darkgray |
guifg
1 |
=white |
hi
1 |
PmenuSel |
ctermbg
1 |
=lightblue |
ctermfg
1 |
=white |
guibg
1 |
=lightblue |
guifg
1 |
=white |
hi
1 |
PmenuSbar |
ctermbg
1 |
=darkgray |
ctermfg
1 |
=lightgray |
guibg
1 |
=darkgray |
guifg
1 |
=lightgray |
hi
1 |
PmenuThumb |
ctermbg
1 |
=darkgray |
ctermfg
1 |
=lightgray |
guibg
1 |
=darkgray |
guifg
1 |
=lightgray |
hi
1 |
TabLine |
ctermbg
1 |
=black |
ctermfg
1 |
=darkgray |
gui
1 |
= |
bold
1 |
hi
1 |
TabLineFill |
ctermbg
1 |
=darkgray |
ctermfg
1 |
=black |
gui
1 |
= |
underline
1 |
hi
1 |
TabLineSel |
ctermbg
1 |
=blue |
ctermfg
1 |
=white |
” —– 色の宣言(オリジナル) ———————
1 |
hi
1 |
Label2 |
guifg
1 |
= |
#e0b611ctermfg
1 |
=yellow |
hi
1 |
Label3 |
guifg
1 |
= |
#b08d33ctermfg
1 |
=darkyellow |
hi
1 |
Bold |
gui
1 |
= |
bold
1 |
hi
1 |
Italic |
gui
1 |
= |
italic
1 |
hi
1 |
Striken |
guifg
1 |
= |
#ddddddctermfg
1 |
=gray |
hi
1 |
HR |
guifg
1 |
=gray |
ctermfg
1 |
=darkgray |
hi
1 |
SuperHR |
guifg
1 |
=lightgray |
guibg
1 |
=darkcyan |
gui
1 |
= |
italicctermfg
1 |
=lightgray |
ctermbg
1 |
=blue |
hi
1 |
Citation |
guibg
1 |
= |
#222200guifg
1 |
=lightyellow |
ctermbg
1 |
=darkyellow |
ctermfg
1 |
=black |
hi
1 |
TabCloseBox |
ctermbg
1 |
=darkred |
ctermfg
1 |
=white |
hi
1 |
RO |
ctermbg
1 |
=red |
ctermfg
1 |
=white |
guifg
1 |
=white |
guibg
1 |
=magenta |
” —– 文法定義(見出し) ————————-
1 |
auSyntax
1 |
* |
syntaxmatch
1 |
Label |
display“^¥* .*”
1 |
auSyntax
1 |
* |
syntaxmatch
1 |
Label2 |
display“¥t¥* .*”
1 |
auSyntax
1 |
* |
syntaxmatch
1 |
Label3 |
display“¥t¥t¥* .*”
1 |
auSyntax
1 |
* |
syntaxmatch
1 |
Label2 |
display“^[¥t ]*[・□■○●][^・].*”
1 |
auSyntax
1 |
* |
syntaxmatch
1 |
Label |
display“^[・□■○●][^・].*”
1 |
auSyntax
1 |
* |
syntaxmatch
1 |
Label2 |
display“^[¥t ]*¥*¥* .*”
1 |
auSyntax
1 |
* |
syntaxmatch