目的 | キー |
---|---|
最大化 |
ALT + Space & x ALTキーとスペースキー押した後で x |
元のサイズに戻す |
ALT + Space & r ALTキーとスペースキー押した後で r |
ウィンドウを閉じる |
ALT + F4 ALTキーとF4 ただし複数のウィンドウを扱うアプリケーションでは CTRLキーとW |
目的 | キー |
---|---|
コピー |
ALT + Space & ek ALTキーとスペースキー押した後で ek カーソルキーで移動し、シフトキーとカーソルキーで範囲を広げます。選択し終わったらエンターキー |
元のサイズに戻す |
ALT + Space & ep ALTキーとスペースキー押した後で ep |
今日はそんな話じゃなくて、普段Vimを使っていると色んな事をVimから実行したくなってきます。
- エクスプローラ起動
- ブラウザ起動
- TwitVim起動
- FavStarなんて見ようかしら
そこでランチャー書いてみました。普段リポジトリ内のファイルにアクセスする際、パスが遠いと面倒なので CtrlP(以前書いた紹介記事はこちら) というプラグインを使っているのですが、このプラグインには unite.vim の様に拡張を書ける仕組みがあるのです。 オフィシャルからもバッファや最近触ったファイル(MRU)を選択出来るエクステンションが提供されているのですが、皆さんに紹介の意味も込めて今日適当に何個か作ってみました。
mattn/ctrlp-mark - GitHubマーク一覧が表示され、選択するとマークされたファイルの指定位置を開きます。
https://github.com/mattn/ctrlp-mark
mattn/ctrlp-register - GitHubレジスタ一覧が表示され、選択するとレジスタに格納されたテキストをペーストします。「あ、undo中に書き換えて大事な修正消しちゃった...」って時はレジスタに残ってる可能性もあるので便利かもしれません。まぁ普段Vim使ってる人は知ってますよね。
https://github.com/mattn/ctrlp-register
で、横道にそれ過ぎましたが話を戻してランチャーですが
mattn/ctrlp-launcher - GitHubWindowsで動作確認してますが、たぶんUNIXでも動きます。まずこれを起動するキーマッピングを一つ定義して下さい。コマンドは「CtrlPLauncher」になっているので
https://github.com/mattn/ctrlp-launcher
nnoremap <c-e> :<c-u>CtrlPLauncher<cr>
とでも書いておくと良いと思います。起動すると初回は何も出ません。唯一、「--edit-menu--」という候補のみが表示されます。これを選ぶと~/.ctrlp-launcher
が開くのでここに以下の様にコマンドを定義します。
# [タイトル(空白含んでOK)] [タブ文字(複数可能] [実行するコマンド]
FavStar FavStar mattn_jp
Browser call feedkeys("\<Plug>(openbrowser-open)")
Explorer !start rundll32 url.dll,FileProtocolHandler .
Command Prompt !start cmd
System Property !start c:/windows/system32/control.exe system.cpl
Task Manager !start taskmgr
Service Manager !c:/windows/system32/services.msc
Internet Explorer !start iexplore
# vim:set ts=4
コマンド名と、複数のタブ、実行コマンドのカラムで構成されます。中身は utf-8 で記述する必要があります。先頭が「#」の行は無視されます。コマンドはVimのコマンドラインで実行出切る物が書けます。なのでTwitVimのコマンドや、他のCtrlPエクステンションの実行にも使えます。
例えばキーを送りたいなら normal コマンドを書いても良いですしfeedkeysを使って
URLを開く call feedkeys(":OpenBrowser ")
コマンドラインの途中入力みたいな事も出来ます。このファイルは毎回読みに行くのでコマンド定義ファイルを書き換える度に再起動する必要はありません。僕の環境では CTRL + E で定義したので、CtrlE って呼んでます(うそです呼んでません)。起動するとこんな感じになります。
CtrlPはマルチバイト文字が入力出来ないので様は良いですが絞り込み出来ないのでやらない方が良いです。
何か文字を打てば絞り込まれますし、CTRL+J と CTRL+K で上下に移動も出来ます。エンターキーを押すと対応したコマンドが実行されます。
やりたい事が多いのに、キーがバッティングし過ぎて困る人は便利かもしれません。良かったらどうぞ。