【Vim】Putty + Ricty + Proggy で快適コーディング

2012-09-23_133624.png

その昔、【GVim】Proggy + Osakaで快適コーディングという記事を書いたのですが、当時から 2 年も経って Putty + Vim な環境もずいぶん変わりました。個人的にエポックメイキングと言えるのが次の 2 点です。


Putty D2D/DW がリリースされた。
SSH クライアント Putty の派生版です。特長は Windows7/8 上でのフォントレンダリングに DirectWrite を使用したものを選べることです。これにより、Windows においても(フォントさえ選べば)Mac 並みに美麗な表示が出来るようになりました。
Ricty が公開された。
プログラミング用としては決定版とも目されるフォントです。元から人気の高かった InconsolataM+ フォントを組み合わせ、更にいくつかのカスタマイズが施してあります。これで、日本語環境でも快適なターミナル環境が使えるようになりました。

両者を組み合わせることでお手軽に快適な環境が得られるわけですが、ここはもう少し踏み込んで自分好みの環境にしてしまいたいところです。

つまり何が言いたいかというと、

半角フォントはやっぱり Proggy Clean の方がかっこいい!

ってことです。そこで Ricty の半角フォントだけを Proggy Clean に置き換えてみました。誰得なんでしょうね? まさに俺得です。

Continue reading

vim ではタブが使えるんですよ!

みなさん vim7 から搭載されたタブ機能は使ってますか?

なんか周り見てみると相変わらずコマンドラインから vim filename.txt で起動して一つ編集したら終わり→次のディレクトリへ……って人が多いんですよね。

別にそれでかまわない、もとい、vim とは本来そういうもんだという人も多いのでしょうが、今や unite や vimfiler などの優れたプラグインも多く、vim を一つ起動すれば、ディレクトリを縦横無尽に行き来していろんなファイルを編集できると思うんです。

せっかくだから、俺はこの Unite + vim-ref を選ぶぜ! – blog.delphinus.dev
https://blog.delphinus.dev/2010/12/vim-ref-with-unite.html
vimfilerとUniteでVimをファイラとして使用する方法 | karakaram-blog
http://www.karakaram.com/vim/vimfiler/

ただそうなると、標準のタブ機能は表示もキーバインドも簡潔すぎて不十分です。今回はカスタマイズで少しだけタブ機能を使いやすくしてみました。

Continue reading

【Vim】目的の行に素早く移動する(相対行番号と easymotion プラグイン)

120819-0006.png

vim では移動、編集に行数を指定することがよくあります。そのために行番号を画面に表示して 5j 5 行下へ移動d6k 6 行上まで削除などとするわけですが、パッと見て目標を 5 行下6 行上などと見積もることはなかなか難しいです。

そこでオススメなのが相対行番号です。これは現在カーソルがある位置から見て何行離れているかを画面に表示します。.vimrc 内で set number などと指定する代わりに set relativenumber と入力すると有効になります。

set relativenumber

Continue reading

MySQL のコマンドラインで補完機能を使う

MySQL でも Bash みたいに Tab 押してテーブル名やカラム名の補完機能ができると便利ですよね。設定ファイルに次のように書くと ok です。

[mysql]
auto-rehash

120819-0005.png

desc mt_b まで入力して Tab を押すと右の画像のようにテーブル名・カラム名を補完してくれます。

便利な機能なのですが、前回紹介した libedit の vi モードでは使えないことがあるようです。そういうときは ~/.editrc にカスタムのキーバインドを追加しましょう。

bind -v
bind ^I rl_complete

Bash でも MySQL でも vi(vim) !!

テキストエディタに vim を使い、ブラウザでも vimperator / pentadactyl その他を使ってると、知らぬうちに Esc を連打してたり、画面上に jjjjj ... などという文字が並んだりして、ハッと我に返ることがままあるものです。(ない?)

こうなると、あらゆるところを vim のキーバインドで過ごしたくなるものですが、意外と盲点なのがシェルのキーバインドです。

行頭に移動するために Ctrl + A したり、単語単位で移動するために Meta + F などとしていると違和感を感じませんか?

そうです! これこそ我ら Vimmer が忌み嫌う、あの、Escape Meta Alt Ctrl Shift などと言ってあざ笑う、Emacs のキーバインドそのままじゃないですか!

これは捨ててはおけません。一日の大半を過ごすターミナル上で、まさか Emacs のキーバインドを使って過ごす羽目になっていたとは! これは単なる背信を超えて悲劇的ですらあります。全世界の善良な Vimmer は望む望まざるに関わらず、あの、小指を駆使する非人間的で非効率的なキーバインドを強制されていたのです!

Continue reading

【Vim】syntastic + vim-rooter で構文チェック

ファイルを保存したときに自動的にコンパイル・構文チェックをする方法として以前次のような記事を書きました。

【Vim】errormarker.vim + Project::Libs で構文チェック – blog.delphinus.dev
https://blog.delphinus.dev/2012/02/errormarker-and-project-libs.html

その後、vim なら syntastic というプラグインがすごいという話を聞きましたので、いろいろ試してみました。こいつは C, Java, Perl, PHP, Ruby, Python, HTML, Javascript, ……等々、とにかく多数の言語の構文チェックに対応していることが特徴です。

Syntastic – Automatic syntax checking : vim online
http://www.vim.org/scripts/script.php?script_id=2736
scrooloose/syntastic
https://github.com/scrooloose/syntastic/

120818-0001.png

インストールは例によって、.vimrcBundle 'scrooloose/syntastic' と書いた後、:BundleInstall するだけで ok です。(vundle 利用者の場合)

ファイルを保存するときに勝手に構文チェックが走り、右の画像のような感じで、エラーのあった箇所と内容について知らせてくれます。

エラーリストが表示されないときは、:Errors とか :lope とかしてみてください。

Continue reading

【Vim】Alt キーを Meta キーとして使う

ターミナル上で Vim を使う場合、<M-x> などの Meta + 何とか というキーバインドが使えなくて困ることがあります。

Meta解説)は普通の PC に付属するキーボードには存在しないため、<Esc>xEsc を押して離し、次に x キーを押す)という動作で代替します。

ところが、この Esc がくせ者です。Vim の Insert モードで <Esc>x とやると、ノーマルモードに戻ってx を押した と判定され、期待と全く違った動きをします。

Continue reading