-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.vimrc
More file actions
229 lines (190 loc) · 9.95 KB
/
.vimrc
File metadata and controls
229 lines (190 loc) · 9.95 KB
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
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
set encoding=utf-8
set fileencodings=utf-8
set fileformats=unix,dos,mac
" 色関係
syntax on
colorscheme desert
" インデント
set tabstop=4 " タブのスペース数
set shiftwidth=4 " インデント時のスペース数
set expandtab " タブ文字をスペースにする
set smartindent " インデントをスマートに
set shiftround
set softtabstop=4
set ambiwidth=double " □や○文字が崩れる問題を解決
let g:indent_guides_enable_on_vim_startup=1 " vim立ち上げたときに、自動的にvim-indent-guidesをオンにする
let g:indent_guides_start_level=2 " ガイドをスタートするインデントの量
let g:indent_guides_auto_colors=0 " 自動カラーを無効にする
" 行番号
set nu " 行番号表示
set relativenumber " 相対距離
" F3で相対、絶対表示の切り替え
nnoremap <F3> :<C-u>setlocal relativenumber!<CR>" F3で相対、絶対表示の切り替え
autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd guibg=#262626 ctermbg=gray " 奇数インデントのカラー
autocmd VimEnter,Colorscheme * :hi IndentGuidesEven guibg=#3c3c3c ctermbg=darkgray " 偶数インデントのカラー
let g:indent_guides_color_change_percent = 30 " ハイライト色の変化の幅
let g:indent_guides_guide_size = 1 " ガイドの幅
" 折り返さない(戻すときは :set wrap)
set nowrap
"参考 何も考えず~/.vimrcにこれを書くんだ! 〜vim初心者によるvim初心者のためのvim入門〜 - Qiita http://qiita.com/mfujimori/items/9fd41bcd8d1ce9170301
set nobackup " バックアップファイルを作らない
set noswapfile " スワップファイルを作らない
set autoread " 編集中のファイルが変更されたら自動で読み直す
set hidden " バッファが編集中でもその他のファイルを開けるように
set showcmd " 入力中のコマンドをステータスに表示する
set cursorline " 現在の行を強調表示
set showmatch " 括弧入力時の対応する括弧を表示
set matchtime=1
set matchpairs& matchpairs+=<:> " HTMLタグを対応
" プラグイン無しでとりあえずvimrcを配置したい時用のvimrc https://gist.github.com/Hiroya-W/8d6f6dd6667f14b8182c2144c68fdcd3
set list listchars=tab:\▸\- " 不可視文字を可視化(タブが「▸-」と表示される)
set laststatus=2 " ステータスラインを常に表示
set statusline=%<%f\ %m\ %r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=\ (%v,%l)/%L%8P\
" コメントアウトの改行で自動コメントアウトを廃止
" 参考:vimで一気にコメントアウトする方法(複数行の先頭に文字を追加する方法) - Qiita
" http://qiita.com/shirochan/items/174c3169344043449339
set formatoptions-=ro
" =====================================================================================================
" 検索系
" =====================================================================================================
set ignorecase " 検索文字列が小文字の場合は大文字小文字を区別なく検索する
set smartcase " 検索文字列に大文字が含まれている場合は区別して検索する
set incsearch " 検索文字列入力時に順次対象文字列にヒットさせる
set wrapscan " 検索時に最後まで行ったら最初に戻る
set hlsearch " 検索語をハイライト表示
" ESCキー2度押しでハイライトの切り替え
nnoremap <silent><Esc><Esc> :<C-u>set nohlsearch!<CR>
" =====================================================================================================
" クリップボード
" =====================================================================================================
" MacのVimでHomebrewを使ってクリップボード連携を有効にする - Qiita http://qiita.com/shoma2da/items/92ea8badcd4655b6106c
set clipboard+=unnamed
set clipboard=unnamed,autoselect
" =====================================================================================================
" キーバインド
" =====================================================================================================
" vimから編集中のrubyスクリプトを実行 - Qiita http://qiita.com/smison/items/2ee7aaa88299f6972c52
nnoremap <C-e> :!ruby %<ENTER>
nnoremap <C-e><C-r> :!rails test %<ENTER>
" python を実行
autocmd BufNewFile,BufRead *.py nnoremap <C-e> :!py %
"nnoremap <C-e> :!py %<ENTER>
nnoremap <Space>ig :IndentGuidesToggle
"インクリメント、デクリメント
nnoremap + <C-a>
nnoremap - <C-x>
" ぼくのかんがえたさいしょうのvimrc - derisの日記 http://deris.hatenablog.jp/entry/2014/05/20/235807
" 上書き保存や閉じsetを、スペース→ショートカットキーに
nnoremap <Space>w :<C-u>w<CR>
nnoremap <Space>q :<C-u>q<CR>
nnoremap <Space>Q :<C-u>q!<CR>
" 行頭、行末をショートカットに
nnoremap <Space>h ^
nnoremap <Space>l $
" 空行挿入
nnoremap <Space>o :<C-u>for i in range(v:count1) \| call append(line('.'), '') \| endfor<CR>
nnoremap <Space>O :<C-u>for i in range(v:count1) \| call append(line('.')-1, '') \| endfor<CR>
" vim-fugitive関連
" vim-fugitiveがやっぱり便利 - Qiit http://qiita.com/hyshhryk/items/4936c4412daa866daf7d
nnoremap <silent> <Space>gb :Gblame<CR>
nnoremap <silent> <Space>gd :Gdiff<CR>
nnoremap <silent> <Space>gs :Gstatus<CR>
" Command + j or k で行を移動する
nnoremap <D-j> :m+<CR>==
nnoremap <D-k> :m-2<CR>==
inoremap <D-j> <Esc>:m+<CR>==gi
inoremap <D-k> <Esc>:m-2<CR>==gi
vnoremap <D-j> :m'>+<CR>gv=gv
"個人的に便利だと思うVimの基本設定のランキングを発表します! -
"プログラムモグモグ http://itchyny.hatenablog.com/entry/2014/12/25/090000
" y$をYにする
nnoremap Y y$
" 【Vim】80桁教信者の憂鬱 その2(ホットキーでトグル、他) | blog.remora.cx http://blog.remora.cx/2013/06/source-in-80-columns-2.html
noremap <Plug>(ToggleColorColumn)
\ :<c-u>let &colorcolumn = len(&colorcolumn) > 0 ? '' :
\ join(range(131, 9999), ',')<CR>
" ノーマルモードの 'cc' に割り当てる
nmap cc <Plug>(ToggleColorColumn)
let $BASH_ENV='~/.bashrc'
" =====================================================================================================
" " vim-plug インストールするときは[:PlugInstall]
" " =====================================================================================================
" " NeoBundle から vim-plug に乗り換えてみた - Qiita http://qiita.com/jiminko/items/f4b337ab41db751388f7
"
" if has('lvim_starting')
" set rtp+=~/.vim/plugged/vim-plug
" if !isdirectory(expand('~/.vim/plugged/vim-plug'))
" echo 'install vim-plug...'
" call system('mkdir -p ~/.vim/plugged/vim-plug')
" call system('git clone https://github.com/junegunn/vim-plug.git ~/.vim/plugged/vim-plug/autoload')
" end
" endif
"
" call plug#begin('~/.vim/plugged')
" Plug 'junegunn/vim-plug',
" \ {'dir': '~/.vim/plugged/vim-plug/autoload'}
"
" " Unite.Vim タブ一覧出せる
" Plug 'Shougo/unite.vim'
"
" " vim-fugitive git関連
" Plug 'tpope/vim-fugitive'
"
" " lightline.vim ステータス部分強化
" Plug 'itchyny/lightline.vim'
"
" " vim-indent-guides インデントに色を塗ってくれる
" " colorscheme molokai
" Plug 'nathanaelkane/vim-indent-guides'
"
" " vim-gitgutter gitの差分を表示してくれる
" " Vimメモ : vim-gitgutterで差分を左端に表示する - もた日記 http://wonderwall.hatenablog.com/entry/2016/03/26/211710
" Plug 'airblade/vim-gitgutter'
"
" " surround.vimの使い方 | Memo on the Web http://motw.mods.jp/Vim/surround.html
" yss - クォートをつける
" ds - クォートをけす
" di - クォート内の文を消す
" " dit - タグを消す
" Plug 'tpope/vim-surround'
"
" " vimの検索でマルチインクリメンタルハイライトを実現するincsearch.vim -
" " http://kaworu.jpn.org/vim/vim%E3%81%AE%E6%A4%9C%E7%B4%A2%E3%81%A7%E3%83%9E%E3%83%AB%E3%83%81%E3%82%A4%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%A1%E3%83%B3%E3%82%BF%E3%83%AB%E3%83%8F%E3%82%A4%E3%83%A9%E3%82%A4%E3%83%88%E3%82%92%E5%AE%9F%E7%8F%BE%E3%81%99%E3%82%8Bincsearch.vim
" Plug 'haya14busa/incsearch.vim'
" map / <Plug>(incsearch-forward)
" map ? <Plug>(incsearch-backward)
" map g/ <Plug>(incsearch-stay)
"
" " vimでautocloseの設定をする - SundayHacking http://www.axlight.com/mt/sundayhacking/2015/02/vimautoclose.html
" " Plug 'cohama/lexima.vim'
"
" " vimで複数選択を可能にするプラグイン - Qiita http://qiita.com/Shunsuke-Komuta/items/c978a4bf5cbb020dca1d
" Plug 'terryma/vim-multiple-cursors'
"
" " tcomment.vim拡張してコメントアウトの効率あげる話 - Qiita http://qiita.com/alpaca_taichou/items/211cd62bee84c59ca480
" " <C-_><C-_> 行、選択箇所をコメントをトグル
" " <C-_>n 指定したftでコメントをトグル
" " <C-_>s 詳細にコメント形式を指定してトグル
" " <C-_>p 関数などブロック全体をトグル
" " gcc <C-_><C-_>と一緒
" Plug 'tomtom/tcomment_vim'
"
" " vimにNeoBundleとNeoCompleteを入れる - KayaMemo http://kayakuguri.github.io/blog/2015/12/24/neobundle-neocomplete/
" Plug 'Shougo/neobundle.vim'
"
" " 対応する括弧等を入力する生活に疲れた(Vim 編) - TIM Labs http://labs.timedia.co.jp/2012/09/vim-smartinput.html
" Plug 'kana/vim-smartinput'
"
" " Vim で Ruby の def end とかを自動入力する vim-endwise を vim-smartinput で実装してみた - 反省はしても後悔はしない http://cohama.hateblo.jp/entry/2013/11/08/013136
" Plug 'cohama/vim-smartinput-endwise'
"
" " TypeScript を vim に導入して Syntax Highlight する · GitHub https://gist.github.com/uupaa/9224470
" Plug 'leafgarland/typescript-vim'
"
" " 【VimとPythonの補完についてのメモ】
" " https://kashewnuts.github.io/2018/08/22/jedivim_memo.html
" Plug 'davidhalter/jedi-vim', {'for': 'python'} " pythonファイルを編集するときだけ起動
"
" call plug#end()
"
" call smartinput_endwise#define_default_rules()