概要
CUI(CLA)ヘルプのUsage出力を真似て,user独自のhelpを作成・提供するgem.
(my_helpで解決しようとする)問題点
CUIやshell, 何かのプログラミング言語などを習得しようとする初心者は, commandや文法を覚えるのに苦労します. 少しのkey(とっかかり)があると思い出すんですが, うろ覚えでは間違えて路頭に迷います. 問題点は,
- manは基本的に英語
- manualでは重たい
- いつもおなじことをwebで検索して
- 同じとこ見ている
- memoしても,どこへ置いたか忘れる
などです.
特徴
これらをCLAとして提供しようというのが,このgemの目的です. 仕様としては,
- userが自分にあったmanを作成
- 雛形を提供
- おなじformat, looks, 操作, 階層構造
- すぐに手が届く
- それらを追加・修正・削除できる
memoソフトでは,検索が必要となりますが,my_helpは key(記憶のとっかかり)を提供することが目的です. RPGでレベル上げとかアイテムを貯めるようにして, プログラミングでスキルを発展させてください.
VSCodeやGithub Copilotではcodeの候補を挙げてくれますが, 物覚えの悪い作者は,人の名前をitem分けして,こそっと使っています.
使用法
インストール
> gem install my_help
です.
簡単な使用法
まずは,
> my_help
Commands:
my_help delete HELP # delete HELP
my_help edit HELP # edit HELP
my_help help [COMMAND] # Describe available commands or one specific command
my_help list [HELP] [ITEM] # list all helps, specific HELP, or ITEM
my_help new HELP # make new HELP
my_help set_editor EDITOR_NAME # set editor to EDITOR_NAME
my_help setup # set up the test database
my_help version # show version
としてください.このlistにNAMEやITEMを加えて行くとわかると思います.
> my_help list
> my_help list emacs
> my_help list emacs -f
> my_help list emacs file
として動かしてみてください.
- emacsのキーバインド
-
特殊キー操作
- C-f, controlキーを押しながら 'f'
- M-f, escキーを押した後一度離して'f'
- 操作の中断C-g, 操作の取り消し(Undo) C-x u
, head : head
, license : license
-c, cursor : cursor
-e, edit : edit
-s, short_cut : short_cut
-f, file : file
-q, quit : quit
-p, page : page
-w, window : window
-b, buffer : buffer
-m, mode : mode
, query_replace : query_replace
-r, ruby-mode : ruby-mode
-d, dired : ファイラとして使う
my_helpがやっていること
my_helpの個々のヘルプファイルは’~/.my_help’に置かれています. ヘルプファイルのフォーマットはEmacsのorg-modeです. これをEditorで叩いて編集したり, そこから情報を取り出したりしています. 単にファイル操作を集約しているだけなのですが, これが面倒で...
独自のhelpを作る方法
独自のhelpを作る方法です.まずは,
$ my_help new new_help
で,new_helpというtemplateが用意されます.
$ my_help edit new_help
で編集してください. Emacs org形式で,格納されています.
$ my_help delete new_help
すると消されます.
editorの変更
$ my_help set_editor vim
でeditorを変更できます.codeとかは確認していますが, それ以外で動いたり,動かなかったりを報告してください.
OS Xで’emacs’とした時にGUI版が立ち上がって嫌だという場合は, ‘emacs -nw’として下さい.