数日前、こんな記事が話題になり、目が点になりました。何これ!自分と全然違う!
キーボードでどのキーが1番使われているか知っていますか? | roomie(ルーミー)
http://www.roomie.jp/2013/07/88217/
キーボードでよく使うキーなんて HJKL に決まってるだろ!いい加減にしろ!
と言うわけで、そういえば自分はどうなんだろう、と思って調べてみました。
数日前、こんな記事が話題になり、目が点になりました。何これ!自分と全然違う!
キーボードでどのキーが1番使われているか知っていますか? | roomie(ルーミー)
http://www.roomie.jp/2013/07/88217/
キーボードでよく使うキーなんて HJKL に決まってるだろ!いい加減にしろ!
と言うわけで、そういえば自分はどうなんだろう、と思って調べてみました。
おもしろいカラースキームを見つけました。Vim を起動すると部屋の明るさに併せて明暗二種のカラースキームを切り替えてくれます。
plum – Light & Dark colorscheme with ambient light detection (for Mac users) : vim online
http://www.vim.org/scripts/script.php?script_id=4660
https://github.com/gcmt/plum.vim
どんな仕組みかと思ったら、Macbook Air についている前面カメラを使って明るさを測定しているんですね。だから(カメラのついている)Mac 限定の機能です。
【vim】80桁教信者の憂鬱 | blog.delphinus.dev
https://blog.delphinus.dev/2013/06/source-in-80-columns.html
前回の記事は結構反響がありました。やっぱりみんな気にしてたことだったんですね。Twitter でいろいろ有益な情報も得られたので追記したいと思います。
「ソースコードは必ず 80 桁目で折り返さないといけない」 というのは遠く COBOL 時代から続く風習であり、昨今の若者にとっては理解しがたい慣習の一つかもしれませんが、プロジェクトによってはこれが厳守事項だったりすることもあるでしょう。
ソースコードは横80カラム以内で折り返すべき? – QA@IT
http://qa.atmarkit.co.jp/q/2342
僕もこの 80 桁教信者 の一人でして、自身が書く場合は必ずコードを 80 桁に収めるようにしています。Macbook Air 11inch の狭いモニタだと、ウィンドウを 2 つ横に並べた状態で丁度読みやすい幅になるんですよね。
vim にはこのような入力方法を助ける機能として 'textwidth'
がありますが、補助的に、'colorcolumn'
を使うと便利です。
たとえば、次のように設定すると、
set colorcolumn=80
80 桁目に印が付くので、分かりやすいです。
Macbook Air の狭い画面で MacVim を起動すると、メニューが画面全体を占めて右上のアイコンが見えなくなってしまうのです。
これは困った。というかこのメニュー、いまいち使い道も思いつきません。
そこで、次のコマンドを .gvimrc
に書くとメニューが全部消えてくれます。
昨日の記事を出した直後に、もっと簡単に定義できるメソッドが定義されていました。
今までのスクリプトを修正するときは以下のようにするだけで ok です。
修正前 | 修正後 |
---|---|
unite#set_substitute_pattern |
unite#custom#substitute |
せっかくだから、俺はこの Unite + vim-ref を選ぶぜ! | blog.delphinus.dev
https://blog.delphinus.dev/2010/12/vim-ref-with-unite.html
上のリンクの例から抜粋。
call unite#custom#substitute('files', '\$\w\+', '\=eval(submatch(0))', 200) call unite#custom#substitute('files', '^@@', '\=fnamemodify(expand("#"), ":p:h")."/"', 2) call unite#custom#substitute('files', '^@', '\=getcwd()."/*"', 1) call unite#custom#substitute('files', '^;r', '\=$VIMRUNTIME."/"') call unite#custom#substitute('files', '^\~', escape($HOME, '\'), -2) call unite#custom#substitute('files', '\\\@<! ', '\\ ', -20) call unite#custom#substitute('files', '\\ \@!', '/', -30) if has('win32') || has('win64') call unite#custom#substitute('files', '^;p', 'C:/Program Files/') uall unite#custom#substitute('files', '^;v', '~/vimfiles/') else uall unite#custom#substitute('files', '^;v', '~/.vim/') endif
このメソッドがなくなったのは結構インパクトがあったみたいで、一日にして更新されてこの記事も必要なくなってしまいました。せっかくなので残しておきますが、こちらの解決法がずっとスマートです。
Unite をアップデートすると今まで使ってた設定でエラーが出るようになってしまいました。調べてみると、deprecated な(?)一部のメソッドが削除されてしまったようです。
せっかくだから、俺はこの Unite + vim-ref を選ぶぜ! | blog.delphinus.dev
https://blog.delphinus.dev/2010/12/vim-ref-with-unite.html
上記記事に書いた以下の部分を、
" 様々なショートカット call unite#set_substitute_pattern('file', '\$\w\+', '\=eval(submatch(0))', 200) call unite#set_substitute_pattern('file', '^@@', '\=fnamemodify(expand("#"), ":p:h")."/"', 2) call unite#set_substitute_pattern('file', '^@', '\=getcwd()."/*"', 1) call unite#set_substitute_pattern('file', '^;r', '\=$VIMRUNTIME."/"') call unite#set_substitute_pattern('file', '^\~', escape($HOME, '\'), -2) call unite#set_substitute_pattern('file', '\\\@<! ', '\\ ', -20) call unite#set_substitute_pattern('file', '\\ \@!', '/', -30) if has('win32') || has('win64') call unite#set_substitute_pattern('file', '^;p', 'C:/Program Files/') call unite#set_substitute_pattern('file', '^;v', '~/vimfiles/') else call unite#set_substitute_pattern('file', '^;v', '~/.vim/') endif
以下のように修正してください。