0

这个问题是基于这个线程

问题:当光标在单词的开头时访问MySQL的手册 by

Ctrl-A Esc Ctrl-m

其中m让人想起Mysql。

如何在 Screen for MySQL 的手册中构建类似 Vim 的 K?

4

3 回答 3

3

假设您已经从MySQL 的文档站点安装了手册页:

将以下内容放入/path/to/mysql-help.screen

# mysql-help.screen

# prevent messages from slowing this down
msgminwait 0
# copy term starting at cursor
copy
stuff " e "
# write term to a file
writebuf /tmp/screen-copied-term
# open that file in man in a new screen window
# (use `read` to pause on error, so user can see error message)
screen /bin/sh -c 'man `cat /tmp/screen-copied-term` || read'
# turn message waiting back on
msgminwait 1

# vi: ft=screen

然后将此添加到您的~/.screenrc

# Have CTRL-A ESC put you in a mode to accept commands in the 'escaped' class
bind \033 command -c escaped
# add CTRL-M as an 'escaped' class command to run the given screen script
bind -c escaped ^M source /path/to/mysql-help.screen

然后你的键绑定应该工作。如果您使用其他程序来显示除 之外的手册man,则必须相应地更改脚本。

我在上面的链接中找到的manmysql 页面仅包含以下命令的文档:

mysqlbug mysqlhotcopy perror mysqldump resolveip mysqltest_embedded mysql_setpermission mysql_client_test mysql_find_rows mysql_fix_privilege_tables mysql_waitpid mysql_config mysql_client_test_embedded myisampack replace msql2mysql make_win_bin_dist my_print_defaults mysql- stress- testpl mysqlaccess mysql_secure_installation mysql. server mysql_convert_table_format mysql_zap mysql_fix_extensions myisamlog myisam_ftdump mysqlbinlog mysql_install_db resolve_stack_dump mysqlslap mysql- test- runpl mysqld_safe mysqladmin mysqlshow mysql_tzinfo_to_sql mysqltest mysqlbackup mysqld_multi mysql mysqldumpslow mysqlcheck mysql_upgrade mysqlimport comp_err mysqld myisamchk innochecksum

您可能还需要考虑添加

zombie kr

到您的.screenrc,因此,如果您使用它无法识别的术语运行手册,屏幕不会自动关闭窗口(并隐藏错误消息)。

于 2009-07-09T14:46:09.450 回答
0

虽然我不知道如何开始为 vim 创建一个包装器以完全按照您的意愿进行操作,但我可能会建议您如何使用 vim 内置的函数实现类似的效果。

:! <command>将允许您使用与 vim 的 K 命令类似的界面运行 shell 命令。这可能不是最干净的方法,但是通过使用,:!您应该能够快速调用给定术语的 MySQL 手册,而无需完全离开 vim。

如果你真的需要为 vim 编写自己的插件,这篇文章也许能给你一些指导和帮助,让你知道从哪里开始。

我希望这有帮助!

于 2009-07-08T04:10:44.717 回答
0

我喜欢回收我的手册页,以便我可以轻松阅读手册。我建议对 Rampion 的命令进行以下改进。

兰皮恩

screen /bin/sh -c 'man `cat /tmp/screen-copied-term` || read'

screen /bin/sh -c 'man `cat /tmp/screen-copied-term` > /tmp/manual | less /tmp/manual'

我的代码为您提供了手册底部的百分号

于 2009-07-12T22:08:31.747 回答