前回は、voodoopad-gtd の導入と簡単な使い方について書きました。
で、ちょっと古いプラグインなので、導入するためにちょっとだけスクリプトを修正しました。
今回は、またちょこっとスクリプトを変更します。
やりたいことは2つ。
- Markdown のリストに対応
ページのデフォルトフォーマットが Markdown になっている場合、プラグインが生成する @todo ページ、 @done ページ、および @later ページの内容を、Markdown のリストにする - ショートカットキーを変更する
1. Markdown のリストに対応
voodoopad-gtd は、@todo: タグや @done: タグ 、@later: タグをつけた箇所の内容をリストにしたページを生成してくれますが、その内容は単なる改行区切りのプレーンテキストです。
- Update @todo List.py
- Update @done List.py
- Update @later List.py
変更内容は、こんなかんじ。
def main(windowController, *args, **kwargs): - theList = "" + theList = [""] document = windowController.document()
if line.find(tag_name) >= 0: - theList += page.displayName() + line.partition(tag_name)[2] + "\n" + theList.append(page.displayName() + line.partition(tag_name)[2]) - theList += "\n\n--\nUpdated at " + time.strftime("%d %b %Y %H:%M",time.localtime()) page = document.createNewPageWithName_(tag_name) - page.setDataAsString_(theList) + separator = "\n* " if page.uti().find("markdown") >= 0 else "\n" + page.setDataAsString_(separator.join(theList) + "\n\n--\nUpdated at " + + time.strftime("%d %b %Y %H:%M",time.localtime())) document.openPageWithTitle_(tag_name)
* スペースの都合で、タブ幅は圧縮してます。
手抜きしてるので先頭に空行が入っちゃいますが、むしろ見やすくていいので、放置です。
2. ショートカットキーを変更する
デフォルトでは "@todo:" 、"@done:" 、および "@later:" タグの挿入は、それぞれ "Control + t" 、"Control + d" 、"Control + l" に割り当てられています。
ところが、Emacs キーバインドを使い慣れてる人にとって、これらはどれも非常に都合が悪いです。
まるで狙ったかのように、多用するキーストロークばかり潰されています。
そこで、ショートカットキーを変更したいと思います。
"@todo:" タグの挿入は、デフォルトでは"@todo"リストページの生成に割り当てられるショートカット "Control + Shift + t" に割り当て、リストページ生成は "Control + Command + Shift + t" に割り当てます。
"@done" タグ、"@later" タグについても同様です。
変更するファイルはそれぞれ2つです。
変更箇所は、
ところが、Emacs キーバインドを使い慣れてる人にとって、これらはどれも非常に都合が悪いです。
まるで狙ったかのように、多用するキーストロークばかり潰されています。
そこで、ショートカットキーを変更したいと思います。
"@todo:" タグの挿入は、デフォルトでは"@todo"リストページの生成に割り当てられるショートカット "Control + Shift + t" に割り当て、リストページ生成は "Control + Command + Shift + t" に割り当てます。
"@done" タグ、"@later" タグについても同様です。
変更するファイルはそれぞれ2つです。
- TODO
- Insert @todo.py
- Update @todo List.py
- DONE
- Insert @done.py
- Update @done List.py
- LATER
- Insert @later.py
- Update @later List.py
変更箇所は、
VPShortcutMask = "control" - VPShortcutKey = "t" + VPShortcutKey = "T" import AppKitと
VPShortcutKey = "T" - VPShortcutMask = "control" + VPShortcutMask = "control command" import AppKit
です。
DONE 、LATER についても、変更内容は同様です。
見れば察しがつくと思いますが、"VPShortcutKey" がショートカットキーの指定で、"VPShortcutMask" がモディファイアキーの指定です。
"VPShortcutMask" に指定できる値は
Shift キーについては、"VPShortcutMask" で指定してもいいですが、上記の変更内容のように、"VPShortcutKey" に大文字を指定することであらわすこともできます。
自分で使いやすいショートカットを割り当ててください。
ほんのちょっとした変更ですが、ぐっと使いやすくなると思います。
DONE 、LATER についても、変更内容は同様です。
見れば察しがつくと思いますが、"VPShortcutKey" がショートカットキーの指定で、"VPShortcutMask" がモディファイアキーの指定です。
"VPShortcutMask" に指定できる値は
- "control" 、または "ctrl"
- "command"
- "option" 、 "opt" 、または "alt"
- "shift"
Shift キーについては、"VPShortcutMask" で指定してもいいですが、上記の変更内容のように、"VPShortcutKey" に大文字を指定することであらわすこともできます。
自分で使いやすいショートカットを割り当ててください。
ほんのちょっとした変更ですが、ぐっと使いやすくなると思います。
0 件のコメント:
コメントを投稿