なんでもhjkl for Windows

2013-01-01 02:15:10

この記事はVim Advent Calendar 2012の32日目の記事です。
前日は@kaneshinthさんのVimプラグインの拡張機能プラグインを作ってVimをさらに使いやすくしよう - 29th Sta.です。

あけましておめでとうございます!
皆さん、2012年はしっかりVimを楽しみましたか?
今年も良いVim年になるよう毎日Vimを使っていきたいですね。
この記事書いてる横で2012年の紅白やってましたが、
館ひろしの「嵐を呼ぶ男」と、美輪明宏の「ヨイトマケの唄」が最高にカッコ良かったです。

さて、2013年あけて第一回目の記事は、
WindowsをVim一色に染め上げることです。

仕事ではWindowsを使っており、
当然@kaoriyaさんのGVimには大変お世話になっているのですが、
他のツールが、いかんせん使いづらいです。
僕もVimmerのはしくれとして、日々のカイゼンは重要だと思っているので、
使いやすいようにしていきたいと思います。
題して、「なんでもhjkl for Windows」

※なお、本記事ではインストールなどの導入は書きません。書いてるとそれだけで一個の記事になりそうだからです。
この記事の目的はあくまで"紹介"です。
ただし、要望があれば or 気が向いたら、個別に書く予定です。


対象

  • Windows XP
  • Widnows 7

目次


ブラウザ

まずはブラウザから。

Google Chrome

僕はGoogle Chromeを愛用していますが、当然VimLikeなキーバインドが欲しくなりました。
「絶対、誰かがVimLikeな拡張機能を作っている筈だ!」という他人まかせな車輪の再発明を防ぐ思いをこめて検索すると、
ちゃんとあるではないですか!

Google ウェブストア - Vichrome

これに出会うまでは、Vimiumという拡張機能を利用していたのですが、
日本語の扱いができなかったので、 Vichromeを見つけてから、すぐに乗り換えました。

ここまで書いて思いましたけど、
VimmerでChrome使いなら、大抵の人が知ってるのではないでしょうか?

作者様ページ
ニートなプログラマが世界を変える: Vichrome : vim風インタフェースを実現するChrome Extension

Fire Fox

Chromeが来たら、当然FFもですね。
これを書かなかったら、FF使いからクレームが来そうです。
僕はメインでは使っていないですが、色々便利なアドオンがあるので、Webアプリを開発する上では重宝します。

で、アドオンなのですが、
Vimparatorがくると思った?思った?残念!
Pentadactylだよ!

Pentadactyl :: Add-ons for Firefox

Vimparatorの開発者たちが、政治的な理由から仲違いして、 VimparatorをフォークしたのがPentadactylです。
「政治的な理由」を調べてみると、
フリーソフトウェアコミュニティーの運営における話 | 明生流 - Myosho Ryu -
のように考察しているサイトもあるので、結構面白いです。
オープンソースのプロジェクト運営というのは大変ですなー。

ちなみに、"Pentadactyl"は「五指状の」という形容詞です。 マウスを使わないVimmerにぴったりの名前ですね。

作者様ページ
Home — Dactyl Home

あと、先ほど少し書いたVimiumですが、
FFにもアドオンとしてありますので、
ChromeでVimium使っている人はFFでも使ってみるといいですね。

Internet Explorer

IEなんてなかった

いやいや、当然、Windowsなのですから、 IEもVim Likeにしたいと思うじゃないですか?

ところが、やってる仕事がIEで見るサイトの開発なもんで、
IEに何か入れたりいじったりすることが禁止されているわけなんですよ。

ですので、ぶっちゃけ探してません。
IEユーザーの人、ほんとすみません。(どれほどいるのか・・・)
後述するAutoHotkeyを使えばできそうな気はしてますが、今やってる案件を離れたらですね。
(というか、IE限定サイトの開発って、今更感たっぷりですが、仕事なので文句は言えません。)


IDE

IDEはすでにVimLikeにしている人も多いので、さらっと行きます。

Eclipse

選択肢として、

  • Vrapper
  • 外部エディターでGVim
  • Eclim

などあるのですが、僕はVrapperを使ってます。
Vrapperはyuroyoroさんとかbasyuraさんとかが以前取り上げてますね。説明不要かと思います。(なんて人任せな。。。)
Eclipseのキーバインドをvim風にできるVrapperが素晴らしすぎる件について - ( ꒪⌓꒪) ゆるよろ日記
Eclipseのキーバインドをvim風にできるVrapperが "マジで" 素晴らしすぎる件について - basyura’s blog

作者様ページ
Vrapper — Vim-like editing in Eclipse

Visual Studio

仕事では、C#もJavaもJavaScriptもSQLもなんでもござれと書いてるのですが、
C#はVisual Studio 2010を使って書いてます。(これもプロジェクトによって決まっているため)

少しでもVimLikeにしようと探したら、当然のようにありました。

VsVim 拡張機能

これでC#やF#でも怖くないですね! VimコミュニティにどれくらいMicrosoft畑の人がいるのかは分かりませんが。

作者様Github
jaredpar/VsVim

IntelliJ IDEA

プロジェクトに直接関係ないプログラムはEclipseよりIntelliJ IDEAで書いてます。(JavaとかGroovyとか)
Eclipseより使いやすくていいですよね!
ですけど、使用頻度が低くてVimLikeなプラグインは使ってません。

2013年中にはなんとかしたいと思い、軽く探してみたら、
書いてる方が見つかりました。
IdeaVIMが熱い - 守破離
「IntelliJ IDEA上でVIMエンジン実装しちゃってる感じのもの凄い PlugIn」という記述が気になります。
導入したら、また別個の記事を各予定ですので、少々お待ちを。

作者様ページ
VIM Emulator Plugin for IntelliJ IDEA


その他

その他大事なもの

Excel

「日本人ならみんな大好きExcel」(棒)
そんなExcelにもVimLikeなキーバインドアドオンを作った人がいました。

もしvi/Vim使いがExcelを使ったら「Vimxls」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ

って、みんな知ってる?知ってたらごめん。
だけど、僕はこれでExcelの操作が三倍になりました。そのあとなんか赤くなったように見えるのは気のせいです。

もちろんExcelなので、Vimと違うところが多々ありますが、それを差し引いても使いやすいです。
特にvでシート移動できるとか、最高なんですが。

現在ver0.8まで開発しているようですが、
Excel 2003 では動かないので、Windows XP ユーザーはver0.6を探してきて落とすほうがよいでしょう。

作者様Twitter
Vimxls (Vimxls) on Twitter

Thunderbird

会社でのメーラーはThunderbirdです。
操作自体は特にデフォルトで問題ないのですが、やはりメールの文面はデフォルトだと書きづらいです。
そこで、Thunderbirdのアドオンを使って、GVimで書けるようにしましょう。

Thunderbirdでもvimでメールを3倍速く編集したい External Editor

メールを書くときに、Ctrl + e を押せば、
設定したエディターで書けるというアドオンです。
GVim実行ファイルのパスを設定すれば、GVimで書けるので、全く違和感なくメールを書けるようになりました。

作者様サイト
Globs site - External Editor - Usage


番外:魔境編

ここからが本編です。
※Shougoさんに敬意を表して、発表デザインパターンの一つ、「おまけが本編です」パターンを使用しました。

Alt + Tab

タスク切り替えのショートカットであるAlt + Tab
Windows標準のは使い勝手が良くないので、VimLikeな切り替えを目指して探してみたところ、このソフトが良さそうです。

cltc - k本的に無料ソフト・フリーソフト

こんな感じ

cltcってこんなの

うひょー、Minecraftたのしー!

じゃなくて、
cltcはただの切り替えソフトなので、VimLike用に作られた訳じゃないのですが、
キーバインドをカスタマイズできます。
インストールするとcltc.iniというファイルができるのですが、
このファイル内にカスタマイズのキーバインドを設定します。

dotfiles/cltc.ini

設定例は上記Githubに置いておきますが、
軽く説明すると、
[Key]パラグラフ?でキーバインドを設定します。

UseNewKey3=1
Mod3=
Vk3=j
Cmd3=curdnl
UseNewKey4=1
Mod4=
Vk4=k
Cmd4=curupl

Vk3が上移動、Vk4が下移動で、 それぞれのModがモディファイアキーです。 ここではモディファイアキーを無しにして、jとkに割り当ててます。
今のところ、これ以外はほとんど設定していないのですが、十分だと思います。

ただし、一個だけ副作用が!
cltcは、入力したキーでタスクを絞り込む機能を持っています。(というか、それが主機能みたい)
例えば、eと入力したら、"e"を含むタスクのみを表示します。
ちょうどUniteのような感じですね。
ですので、jk を割り当ててしまうと、jとkを入力できないという罠が。
そもそもあまりタスクを立ち上げない僕としては特にしぼらなくてもjkの選択だけで十分なのですが、
気になる人はモディファイアキーを割り当てるなど対応してください。(えー)

作者様ブログ
色々書くとこ(仮)

ちなみに、ずっとcltcは何て読むのか分かりませんでしたが、 今回作者様のブログを見てたら、分かりました。(以下のコメント欄)
2006-02-15 - 色々書くとこ(仮)
「コルトシー」と呼ぶのが良さそうです。
「こるとぅる」はダメみたいww

参考サイト
cltc というタスク切り替えソフトが便利な件 - gan2 の Ruby 勉強日記

Explorer

ファイラーは、vimfiler一択だろ!
って声が聞こえてきそうですが、僕はvimfilerとExplorerを併用してます。
Vimで編集するファイルとかはvimfilerで、それ以外はExplorerで。
これ自体は結構気に入ってる使い方なのですが、
操作体系は別々だとストレス溜まります。

なので、AutoHotkey + 独自スクリプトでExplorerにvimfiler的なキーバインドを使えるようにしてみました。

AutoHotkeyを流行らせるページ
dotfiles/vim.ahk

AutoHotkeyに関しては説明しているとそれだけでいくつも記事が書けそうですが、
一行でいうと、Windowsのカスタマイズツール?スクリプト環境?です。(説明できてねぇorz)

二個目のリンクは、僕が書いたスクリプトです。
AutoHotkeyをインストールし、vim.ahkを起動するだけで、あなたのExplorerがVimLikeに!
しかも、今ならなんとWindowsキーから立ち上がるスタートメニューもhjklで操作できるスクリプト付き!
「でも、お高いんでしょう?」

Windowsの起動時に立ち上がるようにしておけば、快適です。

QT TabBar の使い方 - QuizoApps

僕はさらにExplorerを拡張するQTTabBarもインストールしているので、Explorerがタブにまとまり、こんな感じ

オレのExplorerが暴走するぅぅ!!

って、この画像じゃhjkl分かんないじゃん!

ちなみに、新規ディレクトリ作成(vimfilerでいうところの"K")なのですが、
Windows7で試したら動きませんでした。
帰省から戻ったら、すぐに直しますが、
ショートカットを割り当ててるだけなので、多分みれば誰でも直せます。
まだまだ色々そろってないスクリプトなので、ご容赦を。

AutoHotkey本家サイト
AutoHotkey

QTTabBar本家サイト
QTTabBar

SQL Server

SQL Server 2005を使っていて、
カラム名とか調べるのに、わざわざSQL Server Management Studio という重いソフトを立ち上げたくなくて、
Uniteプラグイン書いちゃいました。

ryotakato/unite-sqlserver

ただ単に、SQLServerのDBを取得して、テーブル一覧とカラム一覧を見るためのUniteプラグインです。
2005でしか試してないよ。
姉妹プラグインとして、MongoDBを操作するUniteプラグインも開発中ですので、興味があればそちらもどうぞー。

ryotakato/unite-mongodb

以上、ステマじゃないただのマでした。 unite-mongodbは、ある程度作ったらちゃんと紹介記事書きます。

IP Messenger

いま、僕が一番欲しいものです。
IP Messengerを書くときにVimで書けたらなーと何度思ったことか!! 誰か情報ありませんか?
あったら、是非とも教えていただきたいものです。

なければ、今年の僕の目標はVimのIP Messengerプラグインを書くことになるかと思います。


まとめ

Windows系のVimLikeまとめ記事ということで、簡単に紹介させていただきました。
なんか書いてたら、個別には他の人が色々取り上げている気がするので、
既出ばっかりだろうけど、まあWindows環境を一から作るときのための一覧と思ってください。

様々なVimプラグインを見ると、Vimでなんでもできちゃうかもしれませんが、
そうは言っても他のツールを使うことは多いので、他のツールでVimLikeを目指しました。
ここで書いた以外にも色々やり方はあると思うので、
"カイゼン"したい人は試してみるとよいのではないでしょうか。
ちなみに、僕はWindowsよりMacより、Linuxが大好きです。

明日のVim Advent Calendar 2012の33日目の記事は、@fukayatsuさんです。