这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 wimenu,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
wimenu - wmii 菜单程序
概要
菜单 [-i[-h <历史 档案>[-n <历史 计数>[-p ]
维菜单-v
商品描述
维菜单 is mi的标准菜单程序。 它被广泛使用 mi 及相关程序
提示用户输入。 标准配置使用它来启动程序,
选择视图,并执行标准操作。 它支持基本的项目完成和历史
搜索。
基础课程 争论
正常使用 维菜单 除了以下参数外,不应要求任何参数。 更多的
高级选项记录如下。
-h <历史 档案>
原因 维菜单 从中读取其命令历史记录 <历史 档案> 并附加其
结果到那个文件,如果 -n 给出。
-i 导致以不区分大小写的方式执行完成项的匹配。
-n
最多写 项目返回到历史文件。 该文件永远不会被修改
除非提供此选项。 重复项在 20 项内被过滤掉
施加此限制之前的滑动窗口。
-p
字符串 当菜单打开时,将显示在输入字段之前。
-r
将完成项显示为垂直列表,每行一个,而不是水平列表
列表,并排。 最多 将显示行。
高级课程 争论
-a 连接的地址 mi.
-K 防止 维菜单 从初始化其默认键绑定。 警告:如果你这样做
这个,一定要绑定一个键与接受或拒绝动作,否则你将没有
退出方式 维菜单.
-k <键 档案>
将从中读取键绑定 <键 档案>. 绑定显示为:
[行动[ARGS]
协调 是一个键名,类似于 wmii 使用的格式。 对于动作和参数,
请参考源代码分发中提供的默认绑定
cmd/menu/keys.txt,或使用 字符串(1) 在 维菜单 可执行(这个级别的
定制是为确定的人保留的)。
-s
建议在 Xinerama 屏幕上打开菜单 .
-S <命令 分隔符>
导致每个输入项在第一次出现时被拆分 <命令 九月>。 该
分隔符左侧的文本显示为菜单选项,
进行选择时会显示右侧。
KEY 绑定
维菜单的默认键绑定主要基于 vi 的移动键和
标准的 UNIX shell 输入绑定。
返回,Cj,Cm
接受输入,如果光标在
输入结束。
S-返回、CSj、CSm
从字面上接受输入。
Esc、C-[
退出而不返回任何输出,并以非零状态退出。
Ap 粘贴 PRIMARY 选择。
左,Cb
向后移动一个字符。
对,比照
向前移动一个字符。
Ab 向后移动一个词。
Af 向前移动一个词。
Ca 移动到行首。
Ce 移动到行尾。
CP,向上
在输入历史中向后移动。
中、下
在输入历史中向前移动。
退格,Ch
删除前一个字符。
C-退格,Cw
删除前一个单词。
Cu 删除该行的前一部分。
Tab, Ci¸ Al
选择下一个完成。
S-Tab、CSi、啊
选择上一个完成。
PageUp, Ak
选择上一个完成页面。
PageDown, Aj
选择下一个完成页面。
家, 银
选择第一个完成页面。
结束,ASg
选择最后一个完成页面。
定制 竣工
自定义的、多部分完成数据可以由外部应用程序证明。 当。。。的时候
标准输入不是 TTY,一组补全的处理在每个空行处停止。
在第一个新行或 EOF 之后, 维菜单 显示第一组菜单项,并等待
以供进一步输入。 可以再次写出一个新集合来替换完成项
后跟一个新行。 第一个集合之后的每个集合必须以包含一个的行开始
单个十进制数指定新完成结果要拼接到的位置
输入。 当一个项目被选中时,文本从这个位置到插入符号的位置
被替换。
争论
-c 每次用户输入一个字符时打印输入缓冲区的内容,如
这样:
<文本 before 插入符号>\n<文本 after 插入符号>\n
例
让我们假设一个脚本想首先提供一个带有完成的菜单
命令名称,然后是该命令的参数。 给定三个命令和参数集,
FOO
1,2,3
酒吧
4,5,6
巴兹
7,8,9
以下脚本提供了适当的补全:
#!/ bin / sh的 \-F
先进先出
先进先出
# 以fifo作为标准输入打开wimenu
wimenu \-c
开始 {
# 定义完成结果
cmds = "foo\nbar\nbaz\n"
指令[“富”] = "1\n2\n3\n"
指令[“酒吧”] = "4\n5\n6\n"
指令[“巴兹”] = "7\n8\n9\n"
# 打印第一组补全到wimenu的fifo
fifo = "fifo"
打印 cmds >fifo; 冲洗(先进先出)
}
{ 打印; fflush() }
# 推出一组新的完成
函数更新(str,opts){
print length(str) >fifo # 打印前面字符串的长度
打印 opts >fifo # 和选项本身
冲洗(先进先出)
}
# 使用尾随空格确保正确的参数计数
/ $/ { $0 = $0 "#"; }
{ # 处理输入并提供完成
如果(NF == 1)
update("", cmds) # 第一个参数,命令选择
其他
更新($1“”,cmd[$1]) # 第二个参数,命令参数
# 跳过命令的结尾部分
休息
}
' | 尾部\-1
理论上,该设施可用于多种用途,包括劫持
大多数shell的可编程完成设施。 另请参阅提供的示例[1].
环境
$WMII_地址
连接到 wmii 的地址。
$命名空间
如果未提供地址,则使用的命名空间目录。
使用 onworks.net 服务在线使用 wimenu
