TeXで起案する公文書・公用文書(kianマクロ)

ツール

目次

zsh macro

sazae(栄螺)

sazae-v19.zip Released)

UNIX系OSのコマンドラインシェルzsh(Z shell)で,migemo(cmigemo)を使い,ローマ字の文字列から,日本語のファイル名(ディレクトリ名を含む。)も含めて,補完候補を表示し,実際に補完するソフトウェアです。

日本で生活し仕事をする以上,一部の特殊な状況を除き,日本語のファイル名は避けて通れません。

zshは非常に優れた補完機能を有していますが,日本語のファイル名の場合は,簡単に補完できない状況もあります。

そこで,migemo(cmigemo)を使って,ローマ字の文字列から,候補となる日本語のファイル名を選び出し,補完候補を表示し,実際に補完させることができるようにしました。

  
    zsh> cd todo (Ctrl-i or Tab)
    zsh> cd 都道府県/
    zsh> ls
    愛知県.txt   宮城県.txt   埼玉県.txt   新潟県.txt   長崎県.txt   富山県.txt
    愛媛県.txt   京都府.txt   三重県.txt   神奈川県.txt 長野県.txt   福井県.txt
    茨城県.txt   熊本県.txt   山形県.txt   青森県.txt   鳥取県.txt   福岡県.txt
    岡山県.txt   群馬県.txt   山口県.txt   静岡県.txt   島根県.txt   福島県.txt
    沖縄県.txt   広島県.txt   山梨県.txt   石川県.txt   東京都.txt   兵庫県.txt
    岩手県.txt   香川県.txt   滋賀県.txt   千葉県.txt   徳島県.txt   北海道.txt
    岐阜県.txt   高知県.txt   鹿児島県.txt 大阪府.txt   栃木県.txt   和歌山県.txt
    宮崎県.txt   佐賀県.txt   秋田県.txt   大分県.txt   奈良県.txt
    zsh> cat yama (Ctrl-d)
    山形県.txt 山口県.txt 山梨県.txt
    zsh> cat yama (Ctrl-i or Tab)
    zsh> cat 山 (Ctrl-i or Tab)
    zsh> cat 山形県 (Ctrl-i or Tab)
    zsh> cat 山口県 (Ctrl-i or Tab)
    zsh> cat 山梨県
    甲府市
    zsh> cat *yama (Ctrl-d)
    岡山県.txt   山形県.txt   山口県.txt   山梨県.txt   富山県.txt   和歌山県.txt
    zsh> cat *yama (Ctrl-i or Tab)
    zsh> cat  (Ctrl-i or Tab)
    zsh> cat 岡山県 (Ctrl-i or Tab)
    zsh> cat 山形県 (Ctrl-i or Tab)
    zsh> cat 山口県 (Ctrl-i or Tab)
    zsh> cat 山梨県 (Ctrl-i or Tab)
    zsh> cat 富山県 (Ctrl-i or Tab)
    zsh> cat 和歌山県
    和歌山市
    zsh> cat yamaguchi (Ctrl-i or Tab)
    zsh> cat 山口県
    山口市
  
(栄螺の実行例)

このソフトウェアを導入するまでは,すべての日本語名のファイルについて,"TO-東京都.txt"や"OS-大阪府.txt"のようにローマ字のインデックスを先頭に付けて,名付けておりました。このソフトウェアを導入した今では,"東京都.txt"や"大阪府.txt"のように自然なファイル名で,名付けられるようになりました。

詳細は,zipファイル内の「README.txt」をご覧ください。

shell script

same(鮫)

same-v14.zip Released)

UNIX系OSのコマンドラインで使うゴミ箱です。

間違ってファイルを消してしまうことを防止するため,一時的にゴミ箱ディレクトリ「$HOME/.same」にファイルを保存します。

ゴミ箱がいっぱいになると,古いものから順に完全に削除するので,ゴミ箱の中を掃除したり,ゴミ箱の中を空にする必要がないのが特徴です。

  
    sh> ls *.txt
    a.txt b.txt c.txt
    sh> same b.txt c.txt
    ...(b.txtとc.txtの情報が表示)
    (max=100) eat?> y
    sh> ls *.txt
    a.txt
    sh> same -l
    ...(過去に削除したファイルの一覧が表示)
    sh> same -r 012(復元するファイルの番号)
    ...(復元するファイルの情報が表示)
    restore?> y
    ...(b.txtとc.txtを復元)
    sh> ls *.txt
    a.txt b.txt c.txt
  

使用感はrmと変わりませんので,rmの代わりに使っていただければと思います。

詳細は,zipファイル内の「README.txt」をご覧ください。

emacs lisp

asari(浅蜊)

asari-v03.zip Released)

Emacs上で数値を計算するためのEmacs Lisp(elisp)です。

「100000+十万+100,000+10万+10万0000」のように,表現方式非依存で計算が出来ます。

  
    ;; 指定領域から式の作成
    ;; ※ カーソルは領域の末尾
    ;; 1(領域始->)2            3            4
    ;; 5            6            7(<-領域終)8
    ;; 2+3+4+5+6+7
    ;;
    ;; 矩形領域から式の作成
    ;; ※ カーソルは領域の先頭
    ;; 1(領域終->)2            3            4
    ;; 5            6            7(<-領域始)8
    ;; 2+3+6+7
    ;;
    ;; 表現方式非依存で計算
    ;; 100000+十万+100,000+10万+10万0000=50万0000
    ;;
    ;; 多彩な表現方式で計算結果を出力
    ;; 100000+十万+100,000+10万+10万0000=500000
    ;; 100000+十万+100,000+10万+10万0000=五十万
    ;; 100000+十万+100,000+10万+10万0000=500,000
    ;; 100000+十万+100,000+10万+10万0000=50万
    ;; 100000+十万+100,000+10万+10万0000=50万0000
    ;;
    ;; 四則演算
    ;; 1+2=3
    ;; 1+2-3*4/5=.6
    ;; 7-(6-5)=6
    ;;
    ;; 平方根
    ;; sqrt(2)=1.41421356237309504880168872420969
    ;;
    ;; 三角関数(単位はラジアン)
    ;; sin(pi/4)=.70710678118654752440084436210484
    ;; cos(pi)=-1
    ;;
    ;; 指数関数(底はネイピア数)
    ;; exp(2)=7.389056098930650227230427460575
    ;;
    ;; 対数関数(底はネイピア数)
    ;; log(2)=.69314718055994530941723212145817
    ;;
    ;; 円周率
    ;; pi=3.14159265358979323846264338327948
    ;;
    ;; ネイピア数
    ;; eu=2.71828182845904523536028747135266
    ;;
    ;; 1970年1月1日から1970年1月2日までの日数
    ;; days(700102)=1
    ;;
    ;; 1970年1月1日から2016年11月12日までの日数
    ;; days(161112)=17117
    ;;
    ;; 1970年1月1日から平成28年11月12日までの日数
    ;; days(H281112)=17117
    ;;
    ;; 平成28年11月1日から平成28年11月12日までの日数
    ;; days(H281112)-days(H281101)=11
  
(浅蜊の実行例)

このソフトウェアを導入してから,電卓というものを使うことが全くなくなりました。

詳細は,zipファイル内の「README.txt」をご覧ください。

python

(準備中)

java

(準備中)

keymap

akauni(赤海胆)

akauni-v06.zip Released)

キーボードのキーマップを変更する設定ファイル集です。打ちやすさを重視して,作成しました。

キーボードの一般的なキー配列(Qwerty配列)の由来には,様々な見解がありますが,中央にFGHとJKLの並びがあるように,アルファベット順を修正したものと思われます。打ちにくい配列と言われており,あえて打ちにくく作ったという見解もあるほどです。

また,マウスに頼らず,アプリケーションを直接操作するショートカットキーは,Control-fが検索(find),Control-cがコピー(copy)であったりするように,押しやすさよりも,覚えやすさを優先して定められているように思われますし,アプリケーションによって,動作が違う場合もあります。

さらに,マウスは非常に直感的で使いやすいものですが,その性質上,ホームポジションから手が離れるため,作業効率が落ちることは否めません。

本設定ファイル集は,これらの問題点の改善を目的として,作成いたしました。

具体的には,アルファベットについては,Dvorak配列を少しだけ修正しました。Dvorak配列は,英文入力において打ちやすさを優先して設計された配列ですが,日本語の使用頻度を考えて,fとvは入れ替えました。

日本語入力については,Dvorak配列そのままを使ってローマ字入力した場合,か行と拗音が少し打ちにくいので,DvorakJPのアイデアでこれを修正しました(DvorakJPは非常に優れたアイデアです。心より敬意を評します。)。

ショートカットキーについては,打ちやすさを優先して,独自に配列しました。

マウスについては,キーボードから左手だけで使えるようにしました。

  
    一般キー(まとめ)
    --------------------------------------------------------------------------------
    [Esc] [6/`] [2/'] [0/"] [4/~] [8/^] [9/_] [5/|] [1/@] [3/=] [7/%] [?/!] [&/$]
    [Con]   [-/+] [,/;] [./:] [p/P] [y/Y] [v/V] [g/G] [c/C] [r/R] [l/L] [[/(] [{/<]
    [Mod]    [a/A] [o/O] [e/E] [u/U] [i/I] [d/D] [h/H] [t/T] [n/N] [s/S] []/)] [}/>]
    [Shi]      [//\] [q/Q] [j/J] [k/K] [x/X] [b/B] [m/M] [w/W] [f/F] [z/Z] [*/#]
                   [Alt/Met] [Sup/Hyp] [Space] [Zen/Cap] [Ret/Lin]
    --------------------------------------------------------------------------------
    Esc: Escape                             Con: Control
    Mod: Mode_switch                        Shi: Shift
    Alt: Alt                                Met: Meta
    Sup: Super                              Hyp: Hyper
    Zen: Zenkaku_Hankaku                    Cap: Caps_Lock
    Ret: Return                             Lin: Linefeed

    ショートカットキー(Mode_switch(又はControl)と同時押し)(まとめ)
    --------------------------------------------------------------------------------
    [   ] [F1 ] [F2 ] [F3 ] [F4 ] [F5 ] [F6 ] [F7 ] [F8 ] [F9 ] [F10] [F11] [F12]
    [Con]   [Spe] [MoU] [ScL] [ScU] [ScR] [Qui] [Pas] [Sea] [Up ] [Hom] [PgU] [End]
    [Mod]    [MoL] [MoD] [MoR] [ScD] [Tab] [Cut] [Bac] [Lef] [Dow] [Rig] [PgD] [Exe]
    [   ]      [ClR] [ClC] [ClL] [Sy1] [Sy2] [Sy3] [Ent] [Und] [Sav] [Fr1] [Fr2]
                   [       ] [       ] [Clear] [       ] [       ]
    --------------------------------------------------------------------------------
    MoU: Mouse move up                      MoD: Mouse move down
    MoL: Mouse move left                    MoR: Mouse move right
    ScU: Mouse scroll up                    ScD: Mouse scroll down
    ScL: Mouse scroll left                  ScR: Mouse scroll right
    ClL: Mouse click left                   ClC: Mouse click center
    ClR: Mouse click right
    Sy1: System 1(window manager)           Sy2: System 2(window)
    Sy3: System 3(application)
    Up:  Up                                 Dow: Down
    Lef: Left                               Rig: Right
    PgU: PgUp                               PgD: PgDn
    Hom: Home                               End: End
    Cut: Cut                                Pas: Paste
    Spe: Special                            Qui: Quit
    Sea: Search                             Tab: Tab
    Cut: Cut                                Bac: Backspace
    Exe: Execute                            Ent: Enter
    Und: Undo                               Sav: Save
    Fr1: Free 1                             Fr2: Free 2

    ショートカットキー(Mode_switch(又はControl)と同時押し)(日本語入力)
    --------------------------------------------------------------------------------
    [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ]
    [Con]   [   ] [   ] [   ] [   ] [   ] [   ] [   ] [Shr] [Pri] [Exp] [   ] [   ]
    [Mod]    [   ] [   ] [   ] [   ] [   ] [   ] [   ] [Lef] [Nex] [Rig] [   ] [   ]
    [   ]      [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ] [   ]
                   [       ] [       ] [     ] [       ] [       ]
    --------------------------------------------------------------------------------
    Shr: 文節の縮小                         Exp: 文節の拡大
    Pri: 前の候補                           Nex: 次の候補
    Lef: 前の文節                           Rig: 次の文節
  

長い間,キー配列について研究してきておりますが,このソフトウェアは完成形の一つだと考えています。

詳細は,zipファイル内の「README.txt」をご覧ください。