スキップしてメイン コンテンツに移動

のどか(と窓使いの憂鬱)のvim風キーバインド設定を書いてみた

せっかくのどかを購入したのにあんまりキーバインドの改造をしていないので、練習がてらざっくりとvim風キーバインド設定を書いてみました。

多分窓使いの憂鬱でも動きます。動作確認はしていないです。

個人的に以下のキーバインドを先に行っているので、それ前提で見ていただければ。


# CapsLock 単発だと Esc になり、押しながら何かを押すと Ctrl になる
mod ctrl += !!英数
key *英数 = *Esc

# SemiColon を Enter に
key *IC-SemiColon = Enter

# Control を押しながら SemiColon で SemiColon
key *IC-C-~S-SemiColon = SemiColon


で、以下がvim風キーバインド


### vim mode
## vim mode トグル
key C-OpenBracket = &Toggle(Lock0)

## keymaps
# 一行ヤンク
keymap2 LineYankReady
key L0-*S-*C-*A-Y = Home S-End C-C Home

# 一行デリート
keymap2 LineDeleteReady
key L0-*S-*C-*A-D = Home S-End C-X

# 一行カット
keymap2 LineCutReady
key L0-*S-*C-*A-C = Home S-End C-X

# 頑張って一番上まで戻ろうとする
keymap2 GoTopReady
key L0-*S-*C-*A-G = PageUp PageUp PageUp PageUp PageUp

# exモードセーブ
keymap2 ex_mode_save
key L0-*S-*C-*A-Enter = C-S
key L0-*S-*C-*A-SemiColon = C-S # Enter代替

# exモード
keymap2 ex_mode
key L0-*S-*C-*A-W = &Prefix(ex_mode_save)

keymap Global

## vim mode 時の挙動
# default mode (Lock0 : on)
key L0-*S-*C-*A-_1 = &Undefined
key L0-*S-*C-*A-_2 = &Undefined
key L0-*S-*C-*A-_3 = &Undefined
key L0-*C-*A-_4 = &Undefined
key L0-S-*C-*A-_4 = End
key L0-*S-*C-*A-_5 = &Undefined
key L0-*S-*C-*A-_6 = &Undefined
key L0-*S-*C-*A-_7 = &Undefined
key L0-*S-*C-*A-_8 = &Undefined
key L0-*S-*C-*A-_9 = &Undefined
key L0-*S-*C-*A-_0 = &Undefined
key L0-*S-*C-*A-Q = &Undefined
key L0-*S-*C-*A-W = →
key L0-*S-*C-*A-E = &Undefined
key L0-*S-*A-R = Delete &Toggle(Lock0, off)
key L0-*S-C-*A-R = C-Y
key L0-*S-*C-*A-T = &Undefined
key L0-*S-*C-*A-Y = &Prefix(LineYankReady)
key L0-*S-*A-U = C-Z
key L0-*S-C-*A-U = PageUp
key L0-*C-*A-I = &Toggle(Lock0, off)
key L0-S-*C-*A-I = Home &Toggle(Lock0, off)
key L0-*C-*A-O = End Enter &Toggle(Lock0, off)
key L0-S-*C-*A-O = Home Enter ↑ &Toggle(Lock0, off)
key L0-*S-*C-*A-P = C-V
key L0-*C-*A-A = → &Toggle(Lock0, off)
key L0-S-*C-*A-A = End &Toggle(Lock0, off)
key L0-*S-*C-*A-S = &Undefined
key L0-*S-*A-D = &Prefix(LineDeleteReady)
key L0-*S-C-*A-D = PageDown
key L0-*S-*A-F = &Undefined
key L0-*S-C-*A-F = PageDown
key L0-*C-*A-G = &Prefix(GoTopReady)
key L0-S-*C-*A-G = PageDown PageDown PageDown PageDown PageDown
key L0-*S-*C-*A-H = ←
key L0-*C-*A-J = ↓
key L0-S-*C-*A-J = End Delete
key L0-*S-*C-*A-K = ↑
key L0-*S-*C-*A-L = →
key L0-*S-*C-*A-Z = &Undefined
key L0-*S-*C-*A-X = Delete
key L0-*S-*C-*A-C = &Prefix(LineCutReady) &Toggle(Lock0, off)
key L0-*C-*A-V = &Toggle(Lock1, on)
key L0-S-*C-*A-V = Home S-End &Toggle(Lock1, on)
key L0-*S-*A-B = ←
key L0-*S-C-*A-B = PageUp
key L0-*S-*C-*A-N = &Undefined
key L0-*S-*C-*A-M = &Undefined

key L0-*S-*C-*A-Solidus = C-F &Toggle(Lock0, off)
key L0-*S-*C-*A-Colon = &Prefix(ex_mode)
key L0-*S-*C-*A-CircumflexAccent = Home

key L0-*S-*C-*A-Esc = &Toggle(Lock0, off)
key L0-*S-*C-*A-英数 = &Toggle(Lock0, off) # Esc代替

# viasual mode (Lock1 : on)
key L1-*S-*C-*A-H = S-←
key L1-*S-*C-*A-J = S-↓
key L1-*S-*C-*A-K = S-↑
key L1-*S-*C-*A-L = S-→
key L1-*S-*C-*A-D = C-X &Toggle(Lock1, off)
key L1-*S-*C-*A-Y = C-C → ←&Toggle(Lock1, off)

key L1-*S-*C-*A-Esc = &Toggle(Lock1, off) → ←
key L1-*S-*C-*A-英数 = &Toggle(Lock1, off) → ← # Esc代替


色々試行錯誤しながら書いていたので色々冗長かもしれません。

最初のトリガーは一般的なvimのエスケープなので、普段エスケープを Ctrl + [ でやっている人は別のキーに変えてください。

vimモードから戻る操作は以下を定義しています。最初以外は入力モードに入る際と似た挙動をします。


  • もう一度トリガーボタンを押す

  • エスケープキーを押す

  • iを押す

  • Iを押す

  • aを押す

  • Aを押す

  • ccを押す



完璧にvimの動作をするわけじゃないですが、結構動きます。
なんらかの要因でテキスト編集にvimを使えないときなどに使ってみてください。

コメント

このブログの人気の投稿

日記をつけはじめて1年とちょっと経ったまとめ

日記をつけはじめて1年とちょっと経ったまとめ去年(2017)の 1/11 から日記をつけ始め、気づくともう1年以上ほぼ毎日つけていました
まさか習慣化するとは思っていなかったんですが、意外と続いたので一旦まとめておこうと思ってのエントリこのエントリでは どういう手法で続けてきたか続けてきた結果どうなったか などをまとめておいて、自分用の改善材料にすること、及び、このエントリを見た人の判断材料にすることを目的としています…ので、書き始めた主要因である書籍 日記の魔力 については、覚えている内容を参考にする程度で、本自体の紹介はほぼしないです(読み返すのが面倒だっただけじゃないです)まとめ書いてみたら長くなったので、まとめから自分用のフォーマットを整えれば意外と書くのは楽愚痴も悩みもとりあえず文字に吐き出すと精神衛生上良い忘れっぽいと思っていたら、思っていたより数倍物事を忘れていることに気づく万が一興味を持ったら一度 日記の魔力 を読んでみては今後は…これまで通り毎日ログを書くふりかえりの意義を再考して、ちゃんと毎週&毎月ふりかえるようにするふりかえりの中で、どういうログを書いておくと使いやすいか考えて、日記自体も改善する以降、自分のふりかえりも兼ねているため長文ですが、つらつらと書きますきっかけ最初のきっかけは、 Twitter のタイムラインに流れてきたブログのエントリ 思考や行動を改善できる「日記の魔力」とは の引用…だった気がする(この時はまだログをつけていなかったので記録も記憶も残っていない…)ここで紹介されている 日記の魔力 という本を一通り読み、本に書いてあるとおりに 騙されたと思って日記を書き始めてみよう と思ったのが最初の一歩手法記憶が朧げですが、確か本の著者の方の手法はワープロかPCか何かで、毎日のログを隙間時間にファイルに記述する10日に一度くらいのスパンでそれまで書いた日記をふりかえる ふりかえりの中で、自分が人生で追っていきたい主題みたいなものに関連する内容を別のファイルにコピペして貯めていくみたいな形だったはず。色々と細かいルール(天気などの後から調べれば分かることは書かない等)が少しあった気がするけれど、既に覚えていないですそれを基にしつつ、自分の今の流れは以下の様な形に落ち着いています日付毎の1ファイルに、その日の出来事、やったこ…

のどかを購入した

以前以下の辺りの記事
変態キーバインドを勧めてみる続・変態キーバインドを勧めてみるで紹介したように、完全に「窓使いの憂鬱」に依存している自分にとって、
Vistaや7への移行の最大の妨げとなっていたのがVista発表とほぼ同時期に発表されたこの一文。

「窓使いの憂鬱」の開発は終了いたしました。Windows Vista では動作しませんのでご注意ください。

当初はかなりショックを受けたものです。

すぐに有志のパッチが出たりはしたのですが、その後派生プロジェクトとして
のどか[http://www.appletkan.com/nodoka.htm]というものがapplet氏により開発、継続されました。

基本的にVistaでは"デジタル署名のないデバイスドライバは動作しない"ため、フリーソフトのレベルでは限界がありました。
この"のどか"は、シェアウェアであり、いずれ法人化&署名獲得を目指すということで、当時から購入を迷っていたのですが、
この度、めでたく法人化されるということでこの機会に購入。

窓使いの憂鬱をアンインストールし、のどかをインストールしました。

設定ファイルなどは若干の修正が必要なものの、ほぼ今までの物をそのまま使えたため、スムーズに移行することができました。

これで学校のPCや新ノートのVista(そのうち7)でも快適なタイピング環境が構築できそうです。

追記
Vista 64bitの場合、起動時にF8でメニューを出して署名強制を無効にしないと動作しないらしい。
これを調べていなくて学校のPCへのインストールに時間がかかりました。

現在は快調に動作中。
セミコロンエンターがいい感じです。

追記の追記
とうとう署名付き版のv4.10がリリースされたようです。
インストールしてみたところ署名強制無効を行わずに問題なく動作しました。

続・変態キーバインドを勧めてみる

以前 変態キーバインドを勧めてみる で紹介したキーバインドを若干修正したので、改めて紹介。
導入やら詳細は上記に依るとして、現状は

使用ソフト
窓使いの憂鬱(WindowsVista非対応)IMEのプロパティ
キーバインド内容
CapsLock→LeftCtrlセミコロン→EnterC-セミコロン→セミコロンC-h→バックスペースC-[→EscC-無変換→[C-変換→]S-無変換→{S-無変換→}C-ひらがな→\C-ひらがな→|無変換:日本語OFF、変換文字の半角化変換:日本語ON、変換文字の全角英数化ひらがな:変換文字のカタカナ化
な感じになっています。

最後の3つはIMEのプロパティで設定、
その他窓使いの憂鬱を用いた設定内容は、

include "109.mayu" # JIS配列の場合はこちら

# CapsLockをControlに
mod control += 英数
key *英数 = *LeftControl

# セミコロンをエンターに
key *IC-SemiColon = Enter

# Ctrlを押しながらだとセミコロンに
key *IC-C-~S-SemiColon = SemiColon

# Ctrl+Hをバックスペースに
key *IC-C-H = BS

# vi風キー操作
key C-OpenBracket = ESC
key IC-C-OpenBracket = ESC

# 遠いキーを近くへ
key C-無変換 = OpenBracket
key C-変換 = CloseBracket
key S-無変換 = S-OpenBracket
key S-変換 = S-CloseBracket
key C-ひらがな = YenSign
key S-ひらがな = S-YenSign

こんな感じです。

オレンジは今回新しく追加したもの、
青はおおよそ誰にでもお薦めできるバインドです。

赤は、初心者にはお薦めできn(ry なものです。
慣れるまでかなりいらいらしますが、慣れてしまうとタイピングの勢いが何かを決定するたびに止まってしまって逆にいらいらする感じになります。なってます。

窓使いの憂鬱はVistaで未対応と書きましたが、一応後継機としてのどかというソフトが別の方により引き続き更新されており、
そちらは動作するようになっているそうです。

日本語キーボー…