Glide Note

glidenote's blog

「source ~/.vim/*.vim みたいなことをしたい」とあんちぽさんに質問された話

どういう心境の変化かあんちぽさんが最近Vimを使い始めていて、 社内IRCのvimチャンネルで結構質問をしてて、みんなでアレやコレや それぞれのやり方を教えてて、私も知らないことがかなりあってなかなか勉強になってる。

とてもVim歴9日と思えない質問をバンバンしてくるし、 「Emacsでは普通に出来るんだけど、Vimではどうやんの?」みたいな 煽りもちょいちょい入れてきて結構ウザい。

で昨日あんちぽさんから質問が出てた件

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
18:46:56     antipop_ | source .vim/*.vim
18:47:01     antipop_ | みたいなことしたいんですが
18:47:05     antipop_ | なんかいい方法ありますか
18:52:03     antipop_ | *.vimがたくさんあるんですよ
18:52:18     antipop_ | {foo,bar,baz}.vimみたいな
18:52:23     antipop_ | カテゴリにわけて管理してる
18:52:29     antipop_ | だけど、いちいちsourceしたくない
18:52:45     antipop_ | なので、~/.vim/*.vimは全部自動的にsourceしたい
18:54:00     antipop_ | source ~/.vim/neobundle.vim
18:54:00     antipop_ | source ~/.vim/basic.vim
18:54:00     antipop_ | source ~/.vim/window.vim
18:54:01     antipop_ | source ~/.vim/moving.vim
18:54:03     antipop_ | source ~/.vim/editing.vim
18:54:05     antipop_ | source ~/.vim/search.vim
18:54:07     antipop_ | source ~/.vim/unite.vim
18:54:09     antipop_ | source ~/.vim/filer.vim
18:54:11     antipop_ | source ~/.vim/colors.vim
18:54:13     antipop_ | source ~/.vim/quickfix.vim
18:54:15     antipop_ | source ~/.vim/completion.vim
18:54:17     antipop_ | source ~/.vim/programming.vim
18:54:19     antipop_ | source ~/.vim/ruby.vim
18:54:21     antipop_ | source ~/.vim/tools.vim
18:54:23     antipop_ | source ~/.vim/misc.vim
18:54:25     antipop_ | とか~/.vim/vimrcにかいてるんす
18:54:29     antipop_ | カテゴリふやすごとに↑に追加するのがだるいので
18:54:33     antipop_ | 自動的によんでほしい

社内Vim使いには上みたいに設定ファイルを分割して使ってる人がいなくて不明だったので、 Twitterに書いたら、@kaoriyaさんと@rbtnnさんから速攻で助言を頂いた!! ありがたい。

上の二つの方法をあんちぽさんに教えたところ、下記のように~/.vim/conf.d/設定ファイル用ディレクトリを用意して、

1
2
~/.vim/conf.d/hoge.vim
~/.vim/conf.d/moge.vim

.vimrcに下記のように書いて実現出来た模様。なんか読み込む順番に依存関係があるとハマるらしい。

1
2
set runtimepath+=~/.vim/
runtime! conf.d/*.vim

え、俺が書くの… 。 ウォーキングデッド観てて忙しいんだけど。
というか普通に返答してしまったけど、「今でしょ」とか林先生を求めただけかもしれないと今気づいた。

下記のような感じであんちぽさんのおかげで社内IRCのvimチャンネルが活性化されて良い感じ。

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
13:18:06     antipop_ | unite-grepとagよいですな 
13:19:26     antipop_ | grepなquickfixを自動的にuniteに展開してたんだけど 
13:19:38     antipop_ | trailing errorでて一回enterしないとならなくてだるい 
13:19:47     antipop_ | のでやめた 
13:24:17     antipop_ | Emacsにmoccur-grep-findって超絶便利なのがあるんだけど 
13:24:34     antipop_ | Qfreplaceが同じような感じだけど、なんかじゃっかん不安を感じる… 
13:25:17     antipop_ | あと、昨日Emacsの動きを確認しようと思って起動したら、ウィンドウの移動のしかたを忘れていて、マウスでぽちぽち選択しました… 
13:25:25     antipop_ | もうVimにそまっている… 
13:27:38        maeda | Vimもここ2、3年でPluginが量産されててどれ使えばいいのか調べるのが大変なんですよね 
13:27:55        maeda | ハセコさんのvimpusher見るのが良いんですが、 
13:27:56        maeda | http://www.vimpusher.com/plugins 
13:28:03     antipop_ | おっとそれだ! 
13:28:10     antipop_ | なんだっけあれ、ってなってだんだった 
13:28:25        maeda | http://www.vimpusher.com/users 
13:28:37        maeda | 最近も結構登録されてますね 
13:28:53        maeda | 外人が結構登録してる 
13:29:44     antipop_ | でもまあ、もう人気プラグインはだいたいみつくした 
13:30:21     antipop_ | 自分的に使いこなせそうもないのとかはいれない 
13:31:36     antipop_ | vim-textobj-multiblockが素晴らしいとおもいました 
13:32:11     antipop_ | i'とかi)とかi}とかだるすぎるのを、一発で全部できる 
13:33:49        maeda | http://d.hatena.ne.jp/osyo-manga/20130329/1364569153 
13:33:50     antipop_ | あと、Advent Calendar 2012ぜんぶよんだ 
13:33:54        maeda | チェックしてなかった 
13:34:32     antipop_ | Vimではtextobjがすごいとおもいました!(Emacsにないから 
13:41:19       kuroda | vim-textobj-multiblock よさそう。しらなかった。 
13:41:44        maeda | command! Ev edit $MYVIMRC 
13:41:44        maeda | command! Rv source $MYVIMRC 
13:41:50        maeda | とかを設定しておくと、 
13:42:01        maeda | :Ev で.vimrc開いて 
13:42:30        maeda | :Rv で再読み込み出来るので、 
13:42:51        maeda | 設定弄るときに便利です 
13:43:03        maeda | 最近教えてもらいました 
13:43:15 morygonzalez | 便利情報 
13:53:31       kuroda | ふーむ。ブレースでdibが動かない。なぜだ。 
13:57:19        maeda | :map dib 
13:57:44        maeda | とかで他のプラグインとかが勝手にキーバインド設定してないか見ると良いかもですね 
14:36:48       kuroda | YankRingとかぶってた… 
14:39:12     antipop_ | >< 
14:39:21     antipop_ | vim-startifyいいすね 
14:47:30     antipop_ | http://192.168.25.37/gyazo/data/6b89990b3923709da4a843e6f3eb6db5.png 
14:49:38       kuroda | vim-startify便利だ… 
14:49:46       kuroda | あんちぽさん便利… 
14:50:10     antipop_ | brew install figletして 
14:50:11       kuroda | bで選んで復数開けるんすなぁ 
14:50:16     antipop_ | 適当に文字つくる 
14:52:33       kitak_ | sugoi 
14:57:10     antipop_ | 誰もEmacsってかかれてるのにつっこまない 
14:57:13     antipop_ | くそくそっ 
15:04:13       okkun_ | figletの代わりにこれ http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20 使ってました 
15:04:41     antipop_ | なにこれすごい 
15:05:09       okkun_ | http://patorjk.com/software/taag/#p=display&f=Ghost&t=vim%207.4 
15:05:13       okkun_ | かわいい 
15:25:38        maeda | https://github.com/mhinz/vim-startify/issues/15 
15:25:40        maeda | うける 
15:25:54     antipop_ | ウガンダ 
15:40:06        mizzy | なんだこれw 
15:41:36        mizzy | http://d.hatena.ne.jp/tyru/20130212/pay_for_uganda これと何か関係あるのかな? 
15:44:24       kitak_ | ウガンダの子どもたちに寄付を」 
15:44:30        maeda | Vim起動するとウガンダの子どもへの援助を募るメッセージが出るんですが、vim-startify使うと無視されるからですねw 
15:44:30       kitak_ | みたいなメッセージをみかけたことがあるような 
15:45:50        mizzy | なるほどなるほど>vim-startifyを使うと無視 
15:46:08        mizzy | 理解した 
15:46:21        mizzy | ハイコンテキストだ… 
15:46:26     antipop_ | www 
15:46:29     antipop_ | Vimギャグ 
15:47:13        mizzy | Vimmerはこういうギャグも理解できるようにならないといけないんですね 
15:47:29        maeda | ですねw 
15:47:34     antipop_ | 私はすぐに理解しました 
15:47:39        mizzy | さすがだ 
15:47:44     antipop_ | 本物のVimmerなので。 
15:49:12        maeda | https://github.com/vim-jp/issues/issues/355 
15:49:50     antipop_ | 本物のVimmerになりたくない 
15:51:31        mizzy | 本物のVimmerすごい 

福岡支社でVim勉強会も開催されていたので、盛り上がってきてる気がする。

Comments