= (未完成)
howm-menu を実行して ? を入力する。
行頭に = を書いてから文字列を書きます。
= my title
キーワードを [[ と ]] でくくれば、すべてのメモからキーワードを探し出すためのリンクが生成されます。 そのリンクにカーソルを移動してエンターキーを押すと、そのキーワードへのリンクを集約するページも生成されます。
[[emacs:]]
実際には、このように[[ と ]] でキーワードをくくることで >>> の機能を実行し、そのキーワードの位置でエンターキーを押すことで <<< の機能を実行しているのです。
後続の文字列を検索するよう処理するコマンド
後続の文字列が検索された場合にその箇所を表示するよう処理するコマンド
>>> emacs:
<<< emacs:
>>> と書いてからファイルのパスを記します。
>>> ~/.emacs.d/init.el
インターネット上のアドレスやファイルのパスをそのまま記入すればクリックができる状態になります。 そこでエンターキーを押すとインターネット上のアドレスならEmacs外のブラウザで開き、ファイルであれば Emacs で開きます。
http://www.yahoo.co.jp/ https://www.yahoo.com/ file://~/.emacs.d/init.el
{と}の間でエンターキーを押せばこの順に切り替えます。 購入リストといった to-do リストに最適な機能でしょう。
{ } {*} {-}
{と}の間の_上でエンターキーを押せば現在の日付と時刻を表示します。
{_} [2013-08-19 00:03]
このように書くと、いったん keyword1, keyword2, keyword3 のどれか一つを検索すればメモから keyword1, keyword2, keyword3 のキーワードすべてを探し出します。
<<< keyword1 <<< keyword2 <<< keyword3
keyword1 を一つ検索するだけで keyword2 や keyword3 も同時に探し出せるということは、キーワードに別名を設定できるということです。
なお、howm のキーワードファイルにキーワードは普通このように追加されます。
keyword4
別名を設定した場合は、タブで区切られたキーワードが一行分追加されます。
keyword1 keyword2 keyword3
howm-menu を実行して、メニューの項目から語句検索を行います
既定のキーワードを利用しメモ全体を対象として検索します
正規表現を利用しメモ全体を対象として検索します
migemoを利用しメモ全体を対象として検索します
閲覧中のバッファ内を対象として検索します
howm-menu を実行して d を入力すれば日付を、Tを入力すれば日付と時刻を容易に挿入できます。
[YYYY-MM-DD] [YYYY-MM-DD hh:mm]
そのうえでメモに記号をこのように書いてください。
* 記号と数字の例(数字は省略時の既定設定) | * 機能 | * 詳細 |
[2013-01-04]@1 | 予定 | 予定表に表示します。 指定日からn日間、その予定を繰り返します |
[2013-01-04]!7 | 〆切 | 指定日のn日前から徐々に浮かび上がり、指定日以降は浮かび続けます |
[2013-01-04]+7 | todo | 指定日からn日間かけて徐々に浮かびます |
[2013-01-04]-1 | 覚書 | 指定日に浮かび上がり、以降n日かけて単位量だけ徐々に沈みます |
[2013-01-04]~30 | 保留 | 指定日に浮かび上がり、以降n日周期で浮き沈みをくりかえします |
[2013-01-04]. | 済み | 常に沈んだままです |
まず日付を挿入します。
[2013-08-20]+ 一週間を振り返る
そして日付の上にカーソルを移動しエンターキーを押します。
[RET (list), +num (shift), yymmdd (set), ~yymmdd (repeat), . (today)]
ここで ~YYYYMMDD の形式で日付を入力しましょう。
~20130930
ここでエンターキーを押して、どのように繰り返すのかを選択します。
毎日
n日ごと
一週間ごと
一ヶ月ごと
一年ごと
weekを選択するとこうなります。
[2013-08-20]+ 一週間を振り返る [2013-08-27]+ 一週間を振り返る [2013-09-03]+ 一週間を振り返る [2013-09-10]+ 一週間を振り返る [2013-09-17]+ 一週間を振り返る [2013-09-24]+ 一週間を振り返る
なお初期設定では、定期的に繰り返し行うタスクは一度に200個分まで設定できます(howm-action-lock-date-repeat-max変数)。
まず日付を挿入します。
[2013-08-20]+ 一週間を振り返る
そして日付の上にカーソルを移動しエンターキーを押します。
[RET (list), +num (shift), yymmdd (set), ~yymmdd (repeat), . (today)]
ここで -n +n を入力しましょう。-n の場合はn日前へと変更し、+nの場合はn日後へと変更します。
-10 => [2013-08-10]+ 一週間を振り返る +10 => [2013-08-30]+ 一週間を振り返る
次のようなタスクを設定します。
[2013-08-20]+ 一週間を振り返る
日付の直後にある記号の上にカーソルを移動してエンターキーを押すと、タスクの状態を変更できます。
RET (done), x (cancel), symbol (type), num(laziness):
それぞれのコマンドを実行するとこうなります。
[2013-08-20]. [2013-08-20]:+ 一週間を振り返る [2013-08-20]. cancel [2013-08-20]:+ 一週間を振り返る [2013-08-20]@ 一週間を振り返る [2013-08-20]+3 一週間を振り返る
howm-menu を実行すると、予定や締め切り、Todo が表示されます。
; メモファイルを 1 日 1 ファイルしか作成しないようにする (setq howm-file-name-format "%Y/%m/%Y_%m_%d.txt") (setq howm-menu-file "menu.txt") (setq howm-keyword-file "~/howm/.howm-keys") (setq howm-history-file "~/howm/.howm-history")
; 一覧時にタイトルを表示しない (setq howm-list-title nil) ; save 時にメニューを自動更新せず (setq howm-menu-refresh-after-save nil) ; メニューを 2 時間キャッシュ (setq howm-menu-expiry-hours 2) ; スケジュールのセパレーターを変更する (setq howm-menu-reminder-separators '( (-1 . "━━━━━━━今日↓━━━━━━━━") (0 . "━━━━━━━予定(~3日)↓━━━━━") (3 . "━━━━━━━もっと先 (~30日)↓━━") (nil . "━━━━━━━todo↓ (~20件)━━━━") ;予定とtodoの境 ))
; <<< で大文字小文字を区別しない (setq howm-keyword-case-fold-search t) ; save 時に下線を引き直さない (setq howm-refresh-after-save nil) (setq howm-user-font-lock-keywords '( ("<home>" . (0 'highlight prepend)) )) (setq howm-template (concat howm-view-title-header " %title%date %cursor\n\n"))
(setq howm-process-coding-system 'utf-8-unix) (setq gc-cons-threshold (* 5 (* 100 (* 1000 1000)))) (setq font-lock-verbose nil)
(add-hook 'howm-mode-hook (lambda () (turn-on-orgstruct++) (turn-on-orgtbl) ))
snap.el を使うためにはw3m を導入しておかなければなりません。
apt-get install w3m
cd ~/.emacs.d/elisp/howm-test-version/ext ruby ./howm2 ~/howm/ ~/howm-converted/ # ***n*** files ./howm2:79:in `title_match': invalid byte sequence in Windows-31J (ArgumentError) # from ./howm2:293:in `block (3 levels) in come_go_master' # from ./howm2:292:in `each_line' # from ./howm2:292:in `block (2 levels) in come_go_master' # from ./howm2:291:in `open' # from ./howm2:291:in `block in come_go_master' # from ./howm2:290:in `each' # from ./howm2:290:in `come_go_master' # from ./howm2:399:in `<main>' # invalid byte sequence in Windows-31J が出たときは # http://blog.cles.jp/item/5698 ruby -Eutf-8 ./howm2 ~/howm/ ~/howm-converted/ # ***n*** files (***x*** entries) # body pages: ..... # reference pages: . # index page: .