my_help 0.3.2 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +87 -32
- data/README_en.md +31 -4
- data/Rakefile +10 -0
- data/exe/e_h +4 -0
- data/exe/t_h +4 -0
- data/exe/template_help +4 -0
- data/hikis/README_en.hiki +31 -4
- data/hikis/README_ja.hiki +85 -32
- data/lib/daddygongon/template_help +15 -11
- data/lib/emacs_help.rb +122 -0
- data/lib/my_help/#test.rb# +26 -0
- data/lib/my_help/.#test.rb +1 -0
- data/lib/my_help/test.rb +26 -0
- data/lib/my_help/version.rb +1 -1
- data/lib/my_help.rb +46 -22
- data/lib/my_help.rb~ +155 -0
- data/lib/specific_help.rb +72 -15
- data/my_help.wiki/Home.md +87 -32
- data/my_help.wiki/README_en.md +31 -4
- data/my_help.wiki/README_ja.md +87 -32
- metadata +13 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a1841fa8a0cf72b7a2d735f891a572549b67688
|
4
|
+
data.tar.gz: 84879c6e36ddae1fb746450dd853c8e4ef32382e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b4dd58e5410ec0a52c23b4e662c5adc301c3475d7db9426bc25095c985ecfb26b24f65cbbb6023b3e6760f994aaa56260974838cb81c56800baf0da6334b318
|
7
|
+
data.tar.gz: 2cc1c5daa8a351f69f454c774fd8b428236c81bf30b14661d45cddb86c545ce7c501ee0ed33ef9562a745ed1b5cb4d854e6a51a6155fd0c7203c2f703f14f1fc
|
data/README.md
CHANGED
@@ -30,6 +30,11 @@ commandや文法を覚えるのに苦労します.少しのkey(とっかかり
|
|
30
30
|
hikiでやろうとしていることの半分くらいはこのあたりのことなの
|
31
31
|
かもしれません.memoソフトでは,検索が必要となりますが,my_helpは
|
32
32
|
key(記憶のとっかかり)を提供することが目的です.
|
33
|
+
RPGでレベル上げとかアイテムを貯めるようにして,
|
34
|
+
プログラミングでスキルを発展させてください.
|
35
|
+
|
36
|
+
物覚えの悪い作者は,人の名前をitem分けして,こそっと使っています.
|
37
|
+
|
33
38
|
|
34
39
|
# 使用法
|
35
40
|
## インストール
|
@@ -56,6 +61,7 @@ Usage: my_help [options]
|
|
56
61
|
-m, --make make executables for all helps.
|
57
62
|
-c, --clean clean up exe dir.
|
58
63
|
--install_local install local after edit helps
|
64
|
+
--delete NAME delete NAME help
|
59
65
|
```
|
60
66
|
です.まず,-lでdefaultで入っているリストを見てください.
|
61
67
|
|
@@ -65,9 +71,35 @@ bob% bundle exec exe/my_help -l
|
|
65
71
|
["-l"]
|
66
72
|
Specific help file:
|
67
73
|
emacs_help
|
68
|
-
test_help
|
69
74
|
```
|
70
|
-
これで,CUIでemacs_help, e_h
|
75
|
+
これで,CUIでemacs_help, e_hが用意されています.
|
76
|
+
|
77
|
+
```
|
78
|
+
emacsのキーバインド
|
79
|
+
|
80
|
+
特殊キー操作
|
81
|
+
c-f, controlキーを押しながら 'f'
|
82
|
+
M-f, escキーを押した後一度離して'f'
|
83
|
+
操作の中断c-g, 操作の取り消し(Undo) c-x u
|
84
|
+
cc by Shigeto R. Nishitani, 2016
|
85
|
+
Usage: e_h [options]
|
86
|
+
-v, --version show program Version.
|
87
|
+
-c, --cursor Cursor移動
|
88
|
+
-e, --編集 Edit操作
|
89
|
+
-f, --ファイル File操作
|
90
|
+
-q, --終了 終了操作
|
91
|
+
-p, --ページ Page移動
|
92
|
+
-w, --ウィンドウ Window操作
|
93
|
+
-b, --バッファ Buffer操作
|
94
|
+
-m, --mode モード切り替え
|
95
|
+
--edit edit help contents
|
96
|
+
--to_hiki convert to hikidoc format
|
97
|
+
--all display all helps
|
98
|
+
--store [item] store [item] in back
|
99
|
+
--remove [item] remove [item] in back
|
100
|
+
--add [item] add new [item]
|
101
|
+
```
|
102
|
+
少し振る舞いに慣れてください.
|
71
103
|
|
72
104
|
## 独自のhelpを作る方法
|
73
105
|
さて,独自のhelpを作る方法です.まずは,
|
@@ -78,7 +110,12 @@ bob% bundle exec exe/my_help -i new_help
|
|
78
110
|
"/Users/bob/Github/my_help/lib/daddygongon/template_help"
|
79
111
|
cp /Users/bob/Github/my_help/lib/daddygongon/template_help /Users/bob/.my_help/new_help
|
80
112
|
```
|
81
|
-
で,new_helpというtemplateが用意されます.-e new_help
|
113
|
+
で,new_helpというtemplateが用意されます.-e new_helpで編集してください.
|
114
|
+
YAML形式で,格納されています.サンプルが,
|
115
|
+
```
|
116
|
+
my_help/lib/daddygongon
|
117
|
+
```
|
118
|
+
にあります.このあと,-mすると自動でnew_helpがexeディレクトリーに追加されます.
|
82
119
|
|
83
120
|
## 独自helpを使えるように
|
84
121
|
(これは,-mで自動的に行われるように修正されています)
|
@@ -98,8 +135,8 @@ cp /Users/bob/Github/my_help/lib/daddygongon/template_help /Users/bob/.my_help/n
|
|
98
135
|
- @target dirをmy_help/lib/daddygongonからENV['HOME']/.my_helpに変更
|
99
136
|
|
100
137
|
exe中のファイルをrakeで自動生成.
|
101
|
-
@target_dirにそれらのdata
|
102
|
-
exe中に実行ファイルを自動生成させている.
|
138
|
+
@target_dirにそれらのdataを保存.
|
139
|
+
その名前からexe中に実行ファイルを自動生成させている.
|
103
140
|
```
|
104
141
|
lib/daddygongon/
|
105
142
|
└── emacs_help
|
@@ -123,34 +160,32 @@ rake install:local
|
|
123
160
|
gem uninstall my_help
|
124
161
|
gem uninstall emacs_help
|
125
162
|
```
|
126
|
-
でそのdirをclean
|
163
|
+
でそのdirをcleanにしておくことが望ましい.下のuninstallの項目を参照.
|
127
164
|
|
128
|
-
|
165
|
+
-mでやっている中身は以下の通り.
|
129
166
|
```ruby
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
exe_cont << "help_file = File.expand_path(\"../../#{cont_name}\", __FILE__)\n"
|
142
|
-
exe_cont << "MyHelp::Command.run(help_file, ARGV)\n"
|
143
|
-
target_files.each{|name|
|
144
|
-
p ''
|
145
|
-
p target=File.join('exe',name)
|
146
|
-
File.open(target,'w'){|file|
|
147
|
-
print exe_cont
|
148
|
-
file.print exe_cont
|
167
|
+
def make_help
|
168
|
+
Dir.entries(@target_dir)[2..-1].each{|file|
|
169
|
+
next if file[0]=='#' or file[-1]=='~'
|
170
|
+
exe_cont="#!/usr/bin/env ruby\nrequire 'specific_help'\n"
|
171
|
+
exe_cont << "help_file = File.join(ENV['HOME'],'.my_help','#{file}')\n"
|
172
|
+
exe_cont << "SpecificHelp::Command.run(help_file, ARGV)\n"
|
173
|
+
[file, short_name(file)].each{|name|
|
174
|
+
p target=File.join('exe',name)
|
175
|
+
File.open(target,'w'){|file| file.print exe_cont}
|
176
|
+
FileUtils.chmod('a+x', target, :verbose => true)
|
177
|
+
}
|
149
178
|
}
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
179
|
+
install_local
|
180
|
+
end
|
181
|
+
|
182
|
+
def install_local
|
183
|
+
#中略
|
184
|
+
system "git add -A"
|
185
|
+
system "git commit -m 'update exe dirs'"
|
186
|
+
system "Rake install:local"
|
187
|
+
end
|
188
|
+
|
154
189
|
```
|
155
190
|
|
156
191
|
実装方法は,emacs_helpに
|
@@ -162,10 +197,30 @@ end
|
|
162
197
|
今の所,No.1の方を実装.No.2のためのhushデータは,
|
163
198
|
|
164
199
|
```ruby
|
200
|
+
# -*- coding: utf-8 -*-
|
165
201
|
require 'yaml'
|
166
202
|
require 'pp'
|
167
|
-
|
168
|
-
|
203
|
+
yaml =<<EOF
|
204
|
+
:file:
|
205
|
+
:opts:
|
206
|
+
:short: "-f"
|
207
|
+
:cont:
|
208
|
+
- c-x c-f, Find file, ファイルを開く
|
209
|
+
- c-x c-s, Save file, ファイルを保存
|
210
|
+
EOF
|
211
|
+
pp data=YAML.load(yaml)
|
212
|
+
print YAML.dump(data)
|
213
|
+
|
214
|
+
|
215
|
+
data0={:file=>
|
216
|
+
{:opts=>{:short=>"-f", :long=>"--ファイル", :desc=>"File操作"},
|
217
|
+
:title=>"ファイル操作file",
|
218
|
+
:cont=>
|
219
|
+
["c-x c-f, Find file, ファイルを開く
|
220
|
+
c-x c-s, Save file, ファイルを保存
|
221
|
+
c-x c-w, Write file NAME, ファイルを別名で書き込む"]}}
|
222
|
+
|
223
|
+
print YAML.dump(data0)
|
169
224
|
```
|
170
225
|
|
171
226
|
```
|
data/README_en.md
CHANGED
@@ -53,12 +53,13 @@ Supplied commands are
|
|
53
53
|
bob% bundle exec exe/my_help
|
54
54
|
Usage: my_help [options]
|
55
55
|
-v, --version show program Version.
|
56
|
-
-l, --list list specific
|
57
|
-
-e, --edit NAME edit NAME(
|
58
|
-
-i, --init NAME initialize NAME(
|
59
|
-
-m, --make make
|
56
|
+
-l, --list list specific helps
|
57
|
+
-e, --edit NAME edit NAME help(eg test_help)
|
58
|
+
-i, --init NAME initialize NAME help(eg test_help).
|
59
|
+
-m, --make make executables for all helps.
|
60
60
|
-c, --clean clean up exe dir.
|
61
61
|
--install_local install local after edit helps
|
62
|
+
--delete NAME delete NAME help
|
62
63
|
```
|
63
64
|
|
64
65
|
At first, see the list of supplied helps by the option of -l.
|
@@ -74,6 +75,32 @@ Specific help file:
|
|
74
75
|
emacs_help, e_h, test_help, t_h are ready to use.
|
75
76
|
Play them by a command such as 'bundle exec exe/e_h'.
|
76
77
|
|
78
|
+
emacsのキーバインド
|
79
|
+
|
80
|
+
```
|
81
|
+
特殊キー操作
|
82
|
+
c-f, controlキーを押しながら 'f'
|
83
|
+
M-f, escキーを押した後一度離して'f'
|
84
|
+
操作の中断c-g, 操作の取り消し(Undo) c-x u
|
85
|
+
cc by Shigeto R. Nishitani, 2016
|
86
|
+
Usage: e_h [options]
|
87
|
+
-v, --version show program Version.
|
88
|
+
-c, --cursor Cursor移動
|
89
|
+
-e, --編集 Edit操作
|
90
|
+
-f, --ファイル File操作
|
91
|
+
-q, --終了 終了操作
|
92
|
+
-p, --ページ Page移動
|
93
|
+
-w, --ウィンドウ Window操作
|
94
|
+
-b, --バッファ Buffer操作
|
95
|
+
-m, --mode モード切り替え
|
96
|
+
--edit edit help contents
|
97
|
+
--to_hiki convert to hikidoc format
|
98
|
+
--all display all helps
|
99
|
+
--store [item] store [item] in back
|
100
|
+
--remove [item] remove [item] in back
|
101
|
+
--add [item] add new [item]
|
102
|
+
```
|
103
|
+
|
77
104
|
## Make own help
|
78
105
|
The next step is making own help.
|
79
106
|
For this, -i NAME supplies new NAME help.
|
data/Rakefile
CHANGED
@@ -14,6 +14,16 @@ task :yard => [:hiki2md] do
|
|
14
14
|
YARD::Rake::YardocTask.new
|
15
15
|
end
|
16
16
|
|
17
|
+
desc "clean up exe dir"
|
18
|
+
task :clean_exe do
|
19
|
+
files = Dir.entries('exe')
|
20
|
+
files.each{|file|
|
21
|
+
next if ["my_help",".","..",".DS_Store",
|
22
|
+
"emacs_help","e_h","template_help","t_h"].include?(file)
|
23
|
+
FileUtils.rm(File.join('./exe',file), :verbose=>true)
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
17
27
|
desc "transfer hikis/*.hiki to wiki"
|
18
28
|
task :hiki2md do
|
19
29
|
files = Dir.entries('hikis')
|
data/exe/e_h
ADDED
data/exe/t_h
ADDED
data/exe/template_help
ADDED
data/hikis/README_en.hiki
CHANGED
@@ -51,12 +51,13 @@ Supplied commands are
|
|
51
51
|
bob% bundle exec exe/my_help
|
52
52
|
Usage: my_help [options]
|
53
53
|
-v, --version show program Version.
|
54
|
-
-l, --list list specific
|
55
|
-
-e, --edit NAME edit NAME(
|
56
|
-
-i, --init NAME initialize NAME(
|
57
|
-
-m, --make make
|
54
|
+
-l, --list list specific helps
|
55
|
+
-e, --edit NAME edit NAME help(eg test_help)
|
56
|
+
-i, --init NAME initialize NAME help(eg test_help).
|
57
|
+
-m, --make make executables for all helps.
|
58
58
|
-c, --clean clean up exe dir.
|
59
59
|
--install_local install local after edit helps
|
60
|
+
--delete NAME delete NAME help
|
60
61
|
>>>
|
61
62
|
|
62
63
|
At first, see the list of supplied helps by the option of -l.
|
@@ -72,6 +73,32 @@ Specific help file:
|
|
72
73
|
emacs_help, e_h, test_help, t_h are ready to use.
|
73
74
|
Play them by a command such as 'bundle exec exe/e_h'.
|
74
75
|
|
76
|
+
emacsのキーバインド
|
77
|
+
|
78
|
+
<<<
|
79
|
+
特殊キー操作
|
80
|
+
c-f, controlキーを押しながら 'f'
|
81
|
+
M-f, escキーを押した後一度離して'f'
|
82
|
+
操作の中断c-g, 操作の取り消し(Undo) c-x u
|
83
|
+
cc by Shigeto R. Nishitani, 2016
|
84
|
+
Usage: e_h [options]
|
85
|
+
-v, --version show program Version.
|
86
|
+
-c, --cursor Cursor移動
|
87
|
+
-e, --編集 Edit操作
|
88
|
+
-f, --ファイル File操作
|
89
|
+
-q, --終了 終了操作
|
90
|
+
-p, --ページ Page移動
|
91
|
+
-w, --ウィンドウ Window操作
|
92
|
+
-b, --バッファ Buffer操作
|
93
|
+
-m, --mode モード切り替え
|
94
|
+
--edit edit help contents
|
95
|
+
--to_hiki convert to hikidoc format
|
96
|
+
--all display all helps
|
97
|
+
--store [item] store [item] in back
|
98
|
+
--remove [item] remove [item] in back
|
99
|
+
--add [item] add new [item]
|
100
|
+
>>>
|
101
|
+
|
75
102
|
!!Make own help
|
76
103
|
The next step is making own help.
|
77
104
|
For this, -i NAME supplies new NAME help.
|
data/hikis/README_ja.hiki
CHANGED
@@ -30,6 +30,11 @@ commandや文法を覚えるのに苦労します.少しのkey(とっかかり
|
|
30
30
|
hikiでやろうとしていることの半分くらいはこのあたりのことなの
|
31
31
|
かもしれません.memoソフトでは,検索が必要となりますが,my_helpは
|
32
32
|
key(記憶のとっかかり)を提供することが目的です.
|
33
|
+
RPGでレベル上げとかアイテムを貯めるようにして,
|
34
|
+
プログラミングでスキルを発展させてください.
|
35
|
+
|
36
|
+
物覚えの悪い作者は,人の名前をitem分けして,こそっと使っています.
|
37
|
+
|
33
38
|
|
34
39
|
!使用法
|
35
40
|
!!インストール
|
@@ -54,6 +59,7 @@ Usage: my_help [options]
|
|
54
59
|
-m, --make make executables for all helps.
|
55
60
|
-c, --clean clean up exe dir.
|
56
61
|
--install_local install local after edit helps
|
62
|
+
--delete NAME delete NAME help
|
57
63
|
>>>
|
58
64
|
です.まず,-lでdefaultで入っているリストを見てください.
|
59
65
|
|
@@ -63,9 +69,35 @@ bob% bundle exec exe/my_help -l
|
|
63
69
|
["-l"]
|
64
70
|
Specific help file:
|
65
71
|
emacs_help
|
66
|
-
test_help
|
67
72
|
>>>
|
68
|
-
これで,CUIでemacs_help, e_h
|
73
|
+
これで,CUIでemacs_help, e_hが用意されています.
|
74
|
+
|
75
|
+
<<<
|
76
|
+
emacsのキーバインド
|
77
|
+
|
78
|
+
特殊キー操作
|
79
|
+
c-f, controlキーを押しながら 'f'
|
80
|
+
M-f, escキーを押した後一度離して'f'
|
81
|
+
操作の中断c-g, 操作の取り消し(Undo) c-x u
|
82
|
+
cc by Shigeto R. Nishitani, 2016
|
83
|
+
Usage: e_h [options]
|
84
|
+
-v, --version show program Version.
|
85
|
+
-c, --cursor Cursor移動
|
86
|
+
-e, --編集 Edit操作
|
87
|
+
-f, --ファイル File操作
|
88
|
+
-q, --終了 終了操作
|
89
|
+
-p, --ページ Page移動
|
90
|
+
-w, --ウィンドウ Window操作
|
91
|
+
-b, --バッファ Buffer操作
|
92
|
+
-m, --mode モード切り替え
|
93
|
+
--edit edit help contents
|
94
|
+
--to_hiki convert to hikidoc format
|
95
|
+
--all display all helps
|
96
|
+
--store [item] store [item] in back
|
97
|
+
--remove [item] remove [item] in back
|
98
|
+
--add [item] add new [item]
|
99
|
+
>>>
|
100
|
+
少し振る舞いに慣れてください.
|
69
101
|
|
70
102
|
!!独自のhelpを作る方法
|
71
103
|
さて,独自のhelpを作る方法です.まずは,
|
@@ -76,7 +108,10 @@ bob% bundle exec exe/my_help -i new_help
|
|
76
108
|
"/Users/bob/Github/my_help/lib/daddygongon/template_help"
|
77
109
|
cp /Users/bob/Github/my_help/lib/daddygongon/template_help /Users/bob/.my_help/new_help
|
78
110
|
>>>
|
79
|
-
で,new_helpというtemplateが用意されます.-e new_help
|
111
|
+
で,new_helpというtemplateが用意されます.-e new_helpで編集してください.
|
112
|
+
YAML形式で,格納されています.サンプルが,
|
113
|
+
my_help/lib/daddygongon
|
114
|
+
にあります.このあと,-mすると自動でnew_helpがexeディレクトリーに追加されます.
|
80
115
|
|
81
116
|
!!独自helpを使えるように
|
82
117
|
(これは,-mで自動的に行われるように修正されています)
|
@@ -96,8 +131,8 @@ cp /Users/bob/Github/my_help/lib/daddygongon/template_help /Users/bob/.my_help/n
|
|
96
131
|
* @target dirをmy_help/lib/daddygongonからENV['HOME']/.my_helpに変更
|
97
132
|
|
98
133
|
exe中のファイルをrakeで自動生成.
|
99
|
-
@target_dirにそれらのdata
|
100
|
-
exe中に実行ファイルを自動生成させている.
|
134
|
+
@target_dirにそれらのdataを保存.
|
135
|
+
その名前からexe中に実行ファイルを自動生成させている.
|
101
136
|
<<<
|
102
137
|
lib/daddygongon/
|
103
138
|
└── emacs_help
|
@@ -115,34 +150,32 @@ exe
|
|
115
150
|
たくさんの実行ファイルを/usr/loca/binに置くことになるので,あらたなmy_helpを作成するときには
|
116
151
|
gem uninstall my_help
|
117
152
|
gem uninstall emacs_help
|
118
|
-
でそのdirをclean
|
153
|
+
でそのdirをcleanにしておくことが望ましい.下のuninstallの項目を参照.
|
119
154
|
|
120
|
-
|
155
|
+
-mでやっている中身は以下の通り.
|
121
156
|
<<< ruby
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
exe_cont << "help_file = File.expand_path(\"../../#{cont_name}\", __FILE__)\n"
|
134
|
-
exe_cont << "MyHelp::Command.run(help_file, ARGV)\n"
|
135
|
-
target_files.each{|name|
|
136
|
-
p ''
|
137
|
-
p target=File.join('exe',name)
|
138
|
-
File.open(target,'w'){|file|
|
139
|
-
print exe_cont
|
140
|
-
file.print exe_cont
|
157
|
+
def make_help
|
158
|
+
Dir.entries(@target_dir)[2..-1].each{|file|
|
159
|
+
next if file[0]=='#' or file[-1]=='~'
|
160
|
+
exe_cont="#!/usr/bin/env ruby\nrequire 'specific_help'\n"
|
161
|
+
exe_cont << "help_file = File.join(ENV['HOME'],'.my_help','#{file}')\n"
|
162
|
+
exe_cont << "SpecificHelp::Command.run(help_file, ARGV)\n"
|
163
|
+
[file, short_name(file)].each{|name|
|
164
|
+
p target=File.join('exe',name)
|
165
|
+
File.open(target,'w'){|file| file.print exe_cont}
|
166
|
+
FileUtils.chmod('a+x', target, :verbose => true)
|
167
|
+
}
|
141
168
|
}
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
169
|
+
install_local
|
170
|
+
end
|
171
|
+
|
172
|
+
def install_local
|
173
|
+
#中略
|
174
|
+
system "git add -A"
|
175
|
+
system "git commit -m 'update exe dirs'"
|
176
|
+
system "Rake install:local"
|
177
|
+
end
|
178
|
+
|
146
179
|
>>>
|
147
180
|
|
148
181
|
実装方法は,emacs_helpに
|
@@ -154,10 +187,30 @@ end
|
|
154
187
|
今の所,No.1の方を実装.No.2のためのhushデータは,
|
155
188
|
|
156
189
|
<<< ruby
|
190
|
+
# -*- coding: utf-8 -*-
|
157
191
|
require 'yaml'
|
158
192
|
require 'pp'
|
159
|
-
|
160
|
-
|
193
|
+
yaml =<<EOF
|
194
|
+
:file:
|
195
|
+
:opts:
|
196
|
+
:short: "-f"
|
197
|
+
:cont:
|
198
|
+
- c-x c-f, Find file, ファイルを開く
|
199
|
+
- c-x c-s, Save file, ファイルを保存
|
200
|
+
EOF
|
201
|
+
pp data=YAML.load(yaml)
|
202
|
+
print YAML.dump(data)
|
203
|
+
|
204
|
+
|
205
|
+
data0={:file=>
|
206
|
+
{:opts=>{:short=>"-f", :long=>"--ファイル", :desc=>"File操作"},
|
207
|
+
:title=>"ファイル操作file",
|
208
|
+
:cont=>
|
209
|
+
["c-x c-f, Find file, ファイルを開く
|
210
|
+
c-x c-s, Save file, ファイルを保存
|
211
|
+
c-x c-w, Write file NAME, ファイルを別名で書き込む"]}}
|
212
|
+
|
213
|
+
print YAML.dump(data0)
|
161
214
|
>>>
|
162
215
|
|
163
216
|
ruby test.rb lib/daddygongon/emacs_help
|
@@ -1,10 +1,12 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
---
|
2
3
|
#start header, which appears every time.
|
3
4
|
:head: #never change
|
4
5
|
- ヘルプのサンプル雛形 #describe the contents breafly.
|
5
6
|
- " headに常に表示される内容を記述" #head '- ' is necessary
|
6
|
-
:license:
|
7
|
-
- " cc by Shigeto R. Nishitani, 2016"
|
7
|
+
:license:
|
8
|
+
- " cc by Shigeto R. Nishitani, 2016"
|
9
|
+
|
8
10
|
# start the first item
|
9
11
|
:item: #change snake word
|
10
12
|
:opts: #never change
|
@@ -14,16 +16,18 @@
|
|
14
16
|
:title: 単元 #describe what for in each help
|
15
17
|
:cont: #the following lines are appeared.
|
16
18
|
- c-f, move Forwrard, 前or右へ #top ' - ' are necessary for yaml format
|
17
|
-
- フォーマットは自由です.
|
19
|
+
- フォーマットは自由です.
|
18
20
|
|
19
21
|
# start the second item... and so on.
|
20
|
-
:item2:
|
21
|
-
:opts:
|
22
|
-
:short: -
|
23
|
-
:long: --
|
24
|
-
:desc:
|
25
|
-
:title:
|
22
|
+
:item2: #text here too
|
23
|
+
:opts:
|
24
|
+
:short: -c
|
25
|
+
:long: --word
|
26
|
+
:desc: text
|
27
|
+
:title: text
|
26
28
|
:cont:
|
27
|
-
-
|
28
|
-
|
29
|
+
- |
|
30
|
+
text line0
|
31
|
+
text line1
|
32
|
+
|
29
33
|
|
data/lib/emacs_help.rb
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require "optparse"
|
3
|
+
require "emacs_help/version"
|
4
|
+
|
5
|
+
module EmacsHelp
|
6
|
+
class Command
|
7
|
+
def self.run(argv=[])
|
8
|
+
print "\n特殊キー操作"
|
9
|
+
print "\tc-f, controlキーを押しながら 'f'\n"
|
10
|
+
print "\t\tM-f, escキーを押した後一度離して'f'\n"
|
11
|
+
print "\t操作の中断c-g, 操作の取り消し(Undo) c-x u \n"
|
12
|
+
new(argv).execute
|
13
|
+
end
|
14
|
+
|
15
|
+
def initialize(argv=[])
|
16
|
+
@argv = argv
|
17
|
+
data_path = File.join(ENV['HOME'], '.hikirc')
|
18
|
+
end
|
19
|
+
|
20
|
+
def execute
|
21
|
+
@argv << '--help' if @argv.size==0
|
22
|
+
command_parser = OptionParser.new do |opt|
|
23
|
+
opt.on('-v', '--version','show program Version.') { |v|
|
24
|
+
opt.version = EmacsHelp::VERSION
|
25
|
+
puts opt.ver
|
26
|
+
}
|
27
|
+
opt.on('-c','--カーソル','Cursor移動') {cursor_move}
|
28
|
+
opt.on('-p','--ページ','Page移動') {page_move}
|
29
|
+
opt.on('-f','--ファイル','File操作') {file}
|
30
|
+
opt.on('-e','--編集','Edit操作') {edit}
|
31
|
+
opt.on('-w','--ウィンドウ','Window操作') {window}
|
32
|
+
opt.on('-b','--バッファ','Buffer操作') {buffer}
|
33
|
+
opt.on('-q','--終了','終了操作') {quit}
|
34
|
+
end
|
35
|
+
begin
|
36
|
+
command_parser.parse!(@argv)
|
37
|
+
rescue=> eval
|
38
|
+
p eval
|
39
|
+
end
|
40
|
+
exit
|
41
|
+
end
|
42
|
+
|
43
|
+
def disp(lines)
|
44
|
+
lines.each{|line|
|
45
|
+
if line.include?(',')
|
46
|
+
show line
|
47
|
+
else
|
48
|
+
puts " #{line}"
|
49
|
+
end
|
50
|
+
}
|
51
|
+
end
|
52
|
+
def show(line)
|
53
|
+
puts " #{line}"
|
54
|
+
end
|
55
|
+
|
56
|
+
def quit
|
57
|
+
puts "\n終了操作quit"
|
58
|
+
cont = ["c-x c-c, Quit emacs, ファイルを保存して終了",
|
59
|
+
"c-z, suspend emacs, 一時停止,fgで復活"]
|
60
|
+
disp(cont)
|
61
|
+
end
|
62
|
+
|
63
|
+
def window
|
64
|
+
puts "\nウィンドウ操作window"
|
65
|
+
cont=["c-x 2, 2 windows, 二つに分割",
|
66
|
+
"c-x 1, 1 windows, 一つに戻す",
|
67
|
+
"c-x 3, 3rd window sep,縦線分割",
|
68
|
+
"c-x o, Other windows, 次の画面へ移動"]
|
69
|
+
disp(cont)
|
70
|
+
end
|
71
|
+
|
72
|
+
def buffer
|
73
|
+
puts "\nバッファー操作buffer"
|
74
|
+
cont =[ "c-x b, show Buffer, バッファのリスト",
|
75
|
+
"c-x c-b, next Buffer, 次のバッファへ移動"]
|
76
|
+
disp(cont)
|
77
|
+
end
|
78
|
+
|
79
|
+
def edit
|
80
|
+
puts "\n編集操作editor"
|
81
|
+
cont = ["c-d, Delete char, 一字削除",
|
82
|
+
"c-k, Kill line, 一行抹消,カット",
|
83
|
+
"c-y, Yank, ペースト",
|
84
|
+
"c-w, Kill region, 領域抹消,カット",
|
85
|
+
"領域選択は,先頭or最後尾でc-spaceした後,最後尾or先頭へカーソル移動",
|
86
|
+
"c-s, forward incremental Search WORD, 前へWORDを検索",
|
87
|
+
"c-r, Reverse incremental search WORD, 後へWORDを検索",
|
88
|
+
"M-x query-replace WORD1 <ret> WORD2:対話的置換(y or nで可否選択)"]
|
89
|
+
disp(cont)
|
90
|
+
end
|
91
|
+
|
92
|
+
def file
|
93
|
+
puts "\nファイル操作file"
|
94
|
+
cont =[ "c-x c-f, Find file, ファイルを開く",
|
95
|
+
"c-x c-s, Save file, ファイルを保存",
|
96
|
+
"c-x c-w, Write file NAME, ファイルを別名で書き込む"]
|
97
|
+
disp(cont)
|
98
|
+
end
|
99
|
+
|
100
|
+
def page_move
|
101
|
+
puts "\nページ移動page"
|
102
|
+
cont = ["c-v, move Vertical, 次のページへ",
|
103
|
+
"M-v, move reversive Vertical,前のページへ",
|
104
|
+
"c-l, centerise Line, 現在行を中心に",
|
105
|
+
"M-<, move Top of file, ファイルの先頭へ",
|
106
|
+
"M->, move Bottom of file, ファイルの最後尾へ"]
|
107
|
+
disp(cont)
|
108
|
+
end
|
109
|
+
|
110
|
+
def cursor_move
|
111
|
+
puts "\nカーソル移動cursor"
|
112
|
+
cont = ["c-f, move Forwrard, 前or右へ",
|
113
|
+
"c-b, move Backwrard, 後or左へ",
|
114
|
+
"c-a, go Ahead of line, 行頭へ",
|
115
|
+
"c-e, go End of line, 行末へ",
|
116
|
+
"c-n, move Next line, 次行へ",
|
117
|
+
"c-p, move Previous line, 前行へ"]
|
118
|
+
disp(cont)
|
119
|
+
end
|
120
|
+
|
121
|
+
end
|
122
|
+
end
|