MacVim
設定ファイル置き場
- /Applications/MacVim.app/Contents/Resources/vim/
ここにvimrcとgvimrcがある。 gvimrcでGUI設定ができる。 vimrcは~/.vimrcが既にある場合、適当に名前を変更して(もしくは削除して)~/.vimrcの設定を使うことができる。 MacVimが起動する際に読み込むファイル順は
gvimrc --> vimrc --> ~/.vimrc
っぽい。最終的に~/.vimrcが優先される。
~/.vimrc
現在使用中の.vimrc
1 "---------------------------------------------------------------------------
2 " 編集に関する設定:
3 "
4 " タブの画面上での幅
5 set tabstop=4
6 " タブをスペースに展開しない (expandtab:展開する)
7 set noexpandtab
8 " 自動的にインデントする (noautoindent:インデントしない)
9 "set autoindent
10 " 新しい行を作ったときに高度な自動インデントを行う
11 set smartindent
12 " バックスペースでインデントや改行を削除できるようにする
13 set backspace=indent,eol,start
14 " 検索時にファイルの最後まで行ったら最初に戻る (nowrapscan:戻らない)
15 set wrapscan
16 " 括弧入力時に対応する括弧を表示 (noshowmatch:表示しない)
17 set showmatch
18 " コマンドライン補完するときに強化されたものを使う(参照 :help wildmenu)
19 set wildmenu
20 " テキスト挿入中の自動折り返しを日本語に対応させる
21 set formatoptions+=mM
22 "自動補完
23 set completeopt=menuone
24 for k in split("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_",'\zs')
25 exec "imap <expr> " . k . " pumvisible() ? '" . k . "' : '" . k . "\<C-X>\<C-P>\<C-N>\<down>'"
26 endfor
27 "---------------------------------------------------------------------------
28 " 画面表示の設定:
29 "
30 " 行番号の表示
31 set number
32 " ルーラーを表示 (noruler:非表示)
33 set ruler
34 " タブや改行を表示 (list:表示)
35 set nolist
36 " どの文字でタブや改行を表示するかを設定
37 "set listchars=tab:>-,extends:<,trail:-,eol:<
38 " 長い行を折り返して表示 (nowrap:折り返さない)
39 set wrap
40 " 常にステータス行を表示 (詳細は:he laststatus)
41 set laststatus=2
42 " コマンドラインの高さ (Windows用gvim使用時はgvimrcを編集すること)
43 set cmdheight=2
44 " コマンドをステータス行に表示
45 set showcmd
46 " タイトルを表示
47 set title
48 " 文法で色分け
49 syntax on
50
51 " 全角スペースをハイライト表示
52 function! ZenkakuSpace()
53 highlight ZenkakuSpace cterm=reverse ctermfg=DarkMagenta gui=reverse guifg=DarkMagenta
54 endfunction
55
56 if has('syntax')
57 augroup ZenkakuSpace
58 autocmd!
59 autocmd ColorScheme * call ZenkakuSpace()
60 autocmd VimEnter,WinEnter * match ZenkakuSpace / /
61 augroup END
62 call ZenkakuSpace()
63 endif
64
65 " カレントウィンドウにのみ罫線を引く
66 augroup cch
67 autocmd! cch
68 autocmd WinLeave * set nocursorline
69 autocmd WinLeave * set nocursorcolumn
70 autocmd WinEnter,BufRead * set cursorline
71 " autocmd WinEnter,BufRead * set cursorcolumn
72 augroup END
73 "---------------------------------------------------------------------------
74 " 画面表示の設定:
75 "
76 "上書き保存、Cをコンパイル、実行
77 command! Gcc call s:Gcc()
78 map! <F6> <esc>:Gcc<LF>
79
80 function! s:Gcc()
81 :w
82 :!gcc % -o %.out
83 :!./%.out
84 endfunction