メモ帳で使えるキー
Ctrl+ | 機能 |
---|---|
A | 全選択 |
C | コピー |
F | 検索 |
G | 行へ移動(使えない?) |
H | 置換 |
I | Tab |
J | Enter |
M | Enter |
N | 新規作成 |
O | 開く |
P | 印刷 |
S | 保存 |
V | ペースト |
X | カット |
Z | 元に戻す |
Del | カット |
Ins | コピー |
Home | 文頭へ移動 |
End | 文末へ移動 |
Bs | CHR(127) |
Shift+ | 機能 |
Ins | ペースト |
(アクセラレータなし) | 機能 |
F1 | ヘルプ |
F3 | 次を検索 |
F5 | 時刻、日付を挿入 |
F10 | メニューにフォーカス |
たいがいのテキストエディタはこれに準拠。
置換のCTRL+HはOfficeから発祥し、WindowsXPでメモ帳に取り入れられたようで、ソフトによってばらつきがある。(CTRL+Rを置換とし、CTRL+HをTABとしているソフトが結構ある)
バッチでカレンダー
最近見つけてすごいと思ったバッチ。勉強になります。
当月(指定月)のカレンダーを表示する
http://homepage1.nifty.com/jak/batch/date.html
ここにもあった。
出力形式はUnixの calコマンドを参考にしました。
http://ja.doukaku.org/comment/5121/
W-ZERO3[es]でchumbyのwidgetを動かす
実はW-ZERO3[es]ユーザなのですが、WILLCOM回線は解約してて本体だけ残っており、何かに使えないかなと。
1.以下をダウンロードし、zipからcabを取り出してW-ZERO3[es]へインストール。
Adobe AIR | Deploy applications across platforms and devices
Flash Lite 3.1 Distributable Player
Download the Developer edition for Windows Mobile 5.0 Pocket PC (ZIP, 930 KB)
Chumby
widgetsのswfファイルをダウンロードし、W-ZERO3[es]へ。
3.swfファイルの関連付け
GSFinderで、*.SWFをappzone.exeに関連付ける。
Windows Mobile用のFlash Lite 3.1プレーヤー | トドのつまりは・・・ - 楽天ブログ
4.swfファイルを実行!
Fullscreen表示にすると、こんな感じになります。
flashplayerがよくできていて、縦横の表示切替に対応していました。
※本物のchumbyみたいにいくつかのswfを切り替えられれば…
eeePCとHHKPro2
うちにはEeePC 901とHappy Hacking Keyboard Professional2があります。
しかし、HHKPro2は英語配列のため、eeePCにそのままつないでも、日本語配列として扱われてしまい、入力とキーボードのキー表記が合わないという悲しい事態が発生します。
さりとて、以下のように英語配列にしてしまうと、HHKPro2を外した時に本体のキーボードで入力とキーボードのキー表記が合わないこととなります。
1. \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\LayerDriver JPN の値を KBD106.DLL → KBD101.DLL
2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\E0010411\Layout File の値を KBDJPN.DLL → KBDUS.DLL
3. 再起動
はたまた、USJPProというソフトウェアを使用すると、\1980かかります。
USJPPro 英語配列エミュレーション
http://www.trinityworks.co.jp/software/USJPPro/index.php
そこで、配列が違うキーボードを同時に使う方法を調べました。
配列が違うキーボードを同時に使う方法
配列の異なるキーボードを同時に使う方法 - forPCActionGamer Wiki*
方法は上記のとおりですが、設定値はそのまま使えなかったため、自分で調べる必要がありました。
- KeyboardTypeOverride=4
- KeyboardSubtypeOverride=0
scheduleマクロ修正
曜日計算がたまに動作しないバグを修正、うるう年対応はあいかわらず省略。
oedit.scmに以下追加。キーは適当に。
;; schedule (define (schedule) (lambda() (begin (define weekday (list "日" "月" "火" "水" "木" "金" "土")) (define lastday (list 31 28 31 30 31 30 31 31 30 31 30 31)) (define tm (sys-localtime (sys-time))) (define tm-year (+ 1900 (slot-ref tm 'year))) (define tm-mon (+ 1 (slot-ref tm 'mon))) (define dt (app-input-box "yyyy/mm" (string-append (number->string tm-year) "/" (number->string tm-mon) ))) (if (not dt) () ;cancel (begin (if (>= (string-length dt) 6) (begin (define year (substring dt 0 4)) (define month (substring dt 5 (string-length dt))) (define tm-year (string->number year)) (define tm-mon (string->number month)) ) (begin (app-status-bar-msg "入力エラー") (exit) ) ) ) ) ;タイトル行 (editor-paste-string (string-append ";----- " year "年" month "月 -----" "\n")) ;月の一日の曜日計算 ; ツェラーの公式 w = y+[y/4]+[h/4]-2h+[13(m+1)/5]+d , 曜日=(w mod 7) , 1:日〜6:金 0:土 , []...floor ; oeditでは "- 数字型は32bit整数値のみサポート" なのでfloorはとりあえずなし ; 負の値への対応、sys-tmの曜日と同じ値を出すために調整 … 曜日=((w+6) mod 7) (define H (string->number (substring year 0 2))) (define Y (string->number (substring year 2 4))) (define M (string->number month)) (define D 1) (define wday (remainder (+ Y (/ Y 4) (/ H 4) (* -2 H) (/ (* 13 (+ M 1)) 5) D 6) 7)) ;日の一覧 (do ((i 1 (+ i 1))) ((> i (list-ref lastday (- tm-mon 1))) ()) (begin (define pr-day (number->string i)) (if (>= 9 i) (set! pr-day (string-append " " pr-day))) (editor-paste-string (string-append pr-day "(" (list-ref weekday wday) "):" "\n")) (set! wday (remainder (+ wday 1) 7)) ) ) ) ) )
scheduleマクロ改版
年月指定ができるように。とりあえず使えるので入力チェック、うるう年対応は省略。
oedit.scmに以下追加。キーは適当に。
;; schedule (require "schedule") (app-set-key "Ctrl+T" (lambda() ((schedule))))
schedule.scm
;; schedule (define (schedule) (lambda() (begin (define weekday (list "日" "月" "火" "水" "木" "金" "土")) (define lastday (list 31 28 31 30 31 30 31 31 30 31 30 31)) (define tm (sys-localtime (sys-time))) (define tm-year (+ 1900 (slot-ref tm 'year))) (define tm-mon (+ 1 (slot-ref tm 'mon))) (define dt (app-input-box "yyyy/mm" (string-append (number->string tm-year) "/" (number->string tm-mon) ))) (if (not dt) () ;cancel (begin (if (>= (string-length dt) 6) (begin (define year (substring dt 0 4)) (define month (substring dt 5 (string-length dt))) (define tm-year (string->number year)) (define tm-mon (string->number month)) ) (begin (app-status-bar-msg "入力エラー") (exit) ) ) ) ) ;タイトル行 (editor-paste-string (string-append ";----- " year "年" month "月 -----" "\n")) ;月の一日の曜日計算 ; ツェラーの公式 w = y+[y/4]+[h/4]-2h+[13(m+1)/5]+d , 曜日=(w mod 7) , 1:日〜6:金 0:土 , []...floor ; oeditでは "- 数字型は32bit整数値のみサポート" なのでfloorはとりあえずなし ; 負の値への対応、sys-tmの曜日と同じ値を出すために調整 … 曜日=((w-1) mod 7) + 7 (define H (string->number (substring year 0 2))) (define Y (string->number (substring year 2 4))) (define M (string->number month)) (define D 1) (define wday (+ (remainder (+ Y (/ Y 4) (/ H 4) (* -2 H) (/ (* 13 (+ M 1)) 5) D -1) 7) 7)) ;日の一覧 (do ((i 1 (+ i 1))) ((> i (list-ref lastday (- tm-mon 1))) ()) (begin (define pr-day (number->string i)) (if (>= 9 i) (set! pr-day (string-append " " pr-day))) (editor-paste-string (string-append pr-day "(" (list-ref weekday wday) "):" "\n")) (set! wday (remainder (+ wday 1) 7)) ) ) ) ) )
changelogmemoマクロ改版
oeditでchangelog*1形式でメモを取りたいとき、Ctrl+3で日付、アイテムの追加。
とりあえず動くマクロを2008/12に作っていましたが、今日の日付が文頭から遠くにある場合に時間がかかる欠点がありました。ver.7.0.5.1でそれを解消できそうなeditor-search-string関数が追加になったので、改版。ソースが短くなりました。
ちなみに、editor-search-stringは見つかると0、見つからないと1を返すようです。
oedit.scm
(app-set-key "Ctrl+3" (lambda() (chlog-add))) ; changelogmemo 追加 (define (chlog-add) (begin (define chlog-user "testuser") (define chlog-email-address "testuser@aaa.bbb.ccc") (define today (sys-strftime "%Y-%m-%d" (sys-localtime (sys-time)))) (define chlog-date (string-append today " " chlog-user " <" chlog-email-address ">\n")) (define chlog-item "\t* :\n") ;search today (if (= (editor-search-string (string-append "^" today)) 0) (begin ;found (editor-next-line 1 #f) (editor-paste-string "\n")) (begin ;not found ;insert date (editor-set-row-col 0 0) (editor-paste-string chlog-date) (editor-paste-string "\n\n") (editor-previous-line 1 #f))) ;insert item (editor-paste-string chlog-item) (editor-previous-line 1 #f) (editor-forward-char 3 #f)))
ユーザ名(testuser)、メールアドレス(testuser@aaa.bbb.ccc)は適当に。