-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.vimrc
129 lines (115 loc) · 4.5 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
"
" Sample vimrc for Vim 8
"
if has('win32') " Windows 32bit or 64bit ?
set encoding=cp932 " If you don't like cp932, change to utf-8.
else
set encoding=utf-8
endif
scriptencoding utf-8 " This file's encoding
" ここから日本語を使ってOK
" 推奨設定の読み込み (:h defaults.vim)
unlet! skip_defaults_vim
source $VIMRUNTIME/defaults.vim
" 古い自動コマンドを全てクリア
augroup MyVimrc
autocmd!
augroup END
"===============================================================================
" 設定の追加はこの行以降でおこなうこと!
" 分からないオプション名は先頭に ' を付けてhelpしましょう。例:
" :h 'helplang
" 日本語helpの設定
" 事前にシェルで以下のコマンドを実行してください。
" 初回時:
" $ git clone --depth=1 https://github.com/vim-jp/vimdoc-ja.git ~/.vim/pack/my/opt/vimdoc-ja
" 更新時:
" $ cd ~/.vim/pack/my/opt/vimdoc-ja
" $ git pull
packadd! vimdoc-ja " 日本語helpの読み込み
set helplang=ja,en " help言語の設定
set scrolloff=0
set laststatus=2 " 常にステータス行を表示する
set cmdheight=2 " hit-enter回数を減らすのが目的
if !has('gui_running') " gvimではない? (== 端末)
set mouse= " マウス無効 (macOS時は不便かも?)
set ttimeoutlen=0 " モード変更時の表示更新を最速化
if $COLORTERM == "truecolor" || has('win32') " True Color対応端末?
set termguicolors
endif
endif
set nofixendofline " Windowsのエディタの人達に嫌われない設定
set ambiwidth=double " ○, △, □等の文字幅をASCII文字の倍にする
set directory-=. " swapファイルはローカル作成がトラブル少なめ
set formatoptions+=mM " 日本語の途中でも折り返す
let &grepprg="grep -rnIH --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude=tags"
let loaded_matchparen = 1 " カーソルが括弧上にあっても括弧ペアをハイライトさせない
" :grep 等でquickfixウィンドウを開く (:lgrep 等でlocationlistウィンドウを開く)
"augroup MyVimrc
" autocmd QuickfixCmdPost [^l]* copen
" autocmd QuickfixCmdPost l* lopen
"augroup END
" マウスの中央ボタンクリックによるクリップボードペースト動作を抑制する
noremap <MiddleMouse> <Nop>
noremap! <MiddleMouse> <Nop>
noremap <2-MiddleMouse> <Nop>
noremap! <2-MiddleMouse> <Nop>
noremap <3-MiddleMouse> <Nop>
noremap! <3-MiddleMouse> <Nop>
noremap <4-MiddleMouse> <Nop>
noremap! <4-MiddleMouse> <Nop>
"-------------------------------------------------------------------------------
" ステータスライン設定
let &statusline = "%<%f %m%r%h%w[%{&ff}][%{(&fenc!=''?&fenc:&enc).(&bomb?':bom':'')}] "
if has('iconv')
let &statusline .= "0x%{FencB()}"
function FencB()
let c = matchstr(getline('.'), '.', col('.') - 1)
if c != ''
let c = iconv(c, &enc, &fenc)
return s:Byte2hex(s:Str2byte(c))
else
return '0'
endif
endfunction
function s:Str2byte(str)
return map(range(len(a:str)), 'char2nr(a:str[v:val])')
endfunction
function s:Byte2hex(bytes)
return join(map(copy(a:bytes), 'printf("%02X", v:val)'), '')
endfunction
else
let &statusline .= "0x%B"
endif
let &statusline .= "%=%l,%c%V %P"
"-------------------------------------------------------------------------------
" ファイルエンコーディング検出設定
let &fileencoding = &encoding
if has('iconv')
if &encoding ==# 'utf-8'
let &fileencodings = 'iso-2022-jp,euc-jp,cp932,' . &fileencodings
else
let &fileencodings .= ',iso-2022-jp,utf-8,ucs-2le,ucs-2,euc-jp'
endif
endif
" 日本語を含まないファイルのエンコーディングは encoding と同じにする
if has('autocmd')
function AU_ReSetting_Fenc()
if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0
let &fileencoding = &encoding
endif
endfunction
augroup MyVimrc
autocmd BufReadPost * call AU_ReSetting_Fenc()
augroup END
endif
"-------------------------------------------------------------------------------
" カラースキームの設定
colorscheme torte
try
silent hi CursorIM
catch /E411/
" CursorIM (IME ON中のカーソル色)が定義されていなければ、紫に設定
hi CursorIM ctermfg=16 ctermbg=127 guifg=#000000 guibg=#af00af
endtry
" vim:set et ts=2 sw=0: