-
Notifications
You must be signed in to change notification settings - Fork 0
/
.vimrc
210 lines (197 loc) · 5.96 KB
/
.vimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
" vim: set ts=4 sw=4 sts=0:
"-----------------------------------------------------------------------------
" 文字コード関連
"
if &encoding !=# 'utf-8'
set encoding=japan
set fileencoding=japan
endif
if has('iconv')
let s:enc_euc = 'euc-jp'
let s:enc_jis = 'iso-2022-jp'
" iconvがeucJP-msに対応しているかをチェック
if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb"
let s:enc_euc = 'eucjp-ms'
let s:enc_jis = 'iso-2022-jp-3'
" iconvがJISX0213に対応しているかをチェック
elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb"
let s:enc_euc = 'euc-jisx0213'
let s:enc_jis = 'iso-2022-jp-3'
endif
" fileencodingsを構築
if &encoding ==# 'utf-8'
let s:fileencodings_default = &fileencodings
let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932'
let &fileencodings = &fileencodings .','. s:fileencodings_default
unlet s:fileencodings_default
else
let &fileencodings = &fileencodings .','. s:enc_jis
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$'
set fileencodings+=cp932
set fileencodings-=euc-jp
set fileencodings-=euc-jisx0213
set fileencodings-=eucjp-ms
let &encoding = s:enc_euc
let &fileencoding = s:enc_euc
else
let &fileencodings = &fileencodings .','. s:enc_euc
endif
endif
" 定数を処分
unlet s:enc_euc
unlet s:enc_jis
endif
" 日本語を含まない場合は fileencoding に encoding を使うようにする
if has('autocmd')
function! AU_ReCheck_FENC()
if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
let &fileencoding=&encoding
endif
endfunction
autocmd BufReadPost * call AU_ReCheck_FENC()
endif
" 改行コードの自動認識
set fileformats=unix,dos,mac
" □とか○の文字があってもカーソル位置がずれないようにする
if exists('&ambiwidth')
set ambiwidth=double
endif
"-----------------------------------------------------------------------------
" 編集関連
"
"オートインデントする
set autoindent
"バイナリ編集(xxd)モード(vim -b での起動、もしくは *.bin で発動します)
augroup BinaryXXD
autocmd!
autocmd BufReadPre *.bin let &binary =1
autocmd BufReadPost * if &binary | silent %!xxd -g 1
autocmd BufReadPost * set ft=xxd | endif
autocmd BufWritePre * if &binary | %!xxd -r | endif
autocmd BufWritePost * if &binary | silent %!xxd -g 1
autocmd BufWritePost * set nomod | endif
augroup END
set backspace=indent,eol,start
"-----------------------------------------------------------------------------
" 検索関連
"
"検索文字列が小文字の場合は大文字小文字を区別なく検索する
set ignorecase
"検索文字列に大文字が含まれている場合は区別して検索する
set smartcase
"検索時に最後まで行ったら最初に戻る
set wrapscan
"検索文字列入力時に順次対象文字列にヒットさせない
set noincsearch
"-----------------------------------------------------------------------------
" 装飾関連
"
"シンタックスハイライトを有効にする
if has("syntax")
syntax on
colorscheme desert
endif
"行番号を表示しない
"set nonumber
set number
"タブの左側にカーソル表示
set listchars=tab:-\
set list
"タブ幅を設定する
set tabstop=2
set shiftwidth=2
"入力中のコマンドをステータスに表示する
set showcmd
"括弧入力時の対応する括弧を表示
set showmatch
"検索結果文字列のハイライトを有効にする
set hlsearch
"ステータスラインを常に表示
set laststatus=2
"ステータスラインに文字コードと改行文字を表示する
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P
"-----------------------------------------------------------------------------
" マップ定義
"
"バッファ移動用キーマップ
" F2: 前のバッファ
" F3: 次のバッファ
" F4: バッファ削除
"map <F2> <ESC>:bp<CR>
"map <F3> <ESC>:bn<CR>
"map <F4> <ESC>:bw<CR>
"表示行単位で行移動する
"nnoremap j gj
"nnoremap k gk
"フレームサイズを怠惰に変更する
"map <kPlus> <C-W>+
"map <kMinus> <C-W>-
set nocompatible " be iMproved
filetype off
"if has('vim_starting')
" set runtimepath+=~/.vim/bundle/neobundle.vim
"endif
"call neobundle#begin(expand('~/.vim/bundle'))
"" originalrepos on github
"NeoBundle 'Shougo/vimproc'
"NeoBundle 'scrooloose/syntastic'
"call neobundle#end()
"let g:syntastic_mode_map = { 'mode': 'passive', 'active_filetypes': ['ruby'] }
"let g:syntastic_ruby_checkers = ['rubocop']
filetype plugin indent on " required!
filetype indent on
syntax on
set tabstop=2
set expandtab
"set undodir=/var/run/vim/undofiles
"set backupdir=/var/run/vim/backupfiles
""dein Scripts-----------------------------
"if &compatible
" set nocompatible " Be iMproved
"endif
"
"" Required:
"set runtimepath^=~/.vim/dein.vim/repos/github.com/Shougo/dein.vim
"
"" Required:
"call dein#begin(expand('~/.vim/dein.vim'))
"
"" Let dein manage dein
"" Required:
"call dein#add('Shougo/dein.vim')
"
"" Add or remove your plugins here:
"" call dein#add('Shougo/neosnippet.vim')
"" call dein#add('Shougo/neosnippet-snippets')
"
"" You can specify revision/branch/tag.
"call dein#add('Shougo/vimproc.vim', {
" \ 'build': {
" \ 'windows': 'tools\\update-dll-mingw',
" \ 'cygwin': 'make -f make_cygwin.mak',
" \ 'mac': 'make -f make_mac.mak',
" \ 'linux': 'make',
" \ 'unix': 'gmake',
" \ },
" \ })
"call dein#add('Shougo/vimshell', { 'rev': '3787e5' })
"call dein#add('Shougo/neocomplcache')
"call dein#add('leafgarland/typescript-vim')
"
"" Required:
"call dein#end()
"
"" Required:
"filetype plugin indent on
"
"if dein#check_install(['vimproc'])
" call dein#install(['vimproc'])
"endif
"" If you want to install not installed plugins on startup.
"if dein#check_install()
" call dein#install()
"endif
"
""End dein Scripts-------------------------
let g:neocomplcache_enable_at_startup = 1