这个问题是基于这个线程。
问题:当光标在单词的开头时访问MySQL的手册 by
Ctrl-A Esc Ctrl-m
其中m让人想起Mysql。
如何在 Screen for MySQL 的手册中构建类似 Vim 的 K?
这个问题是基于这个线程。
问题:当光标在单词的开头时访问MySQL的手册 by
Ctrl-A Esc Ctrl-m
其中m让人想起Mysql。
如何在 Screen for MySQL 的手册中构建类似 Vim 的 K?
假设您已经从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 页面仅包含以下命令的文档:
mysqlbugmysqlhotcopyperrormysqldumpresolveipmysqltest_embeddedmysql_setpermissionmysql_client_testmysql_find_rowsmysql_fix_privilege_tablesmysql_waitpidmysql_configmysql_client_test_embeddedmyisampackreplacemsql2mysqlmake_win_bin_distmy_print_defaultsmysql-stress-test。plmysqlaccessmysql_secure_installationmysql.servermysql_convert_table_formatmysql_zapmysql_fix_extensionsmyisamlogmyisam_ftdumpmysqlbinlogmysql_install_dbresolve_stack_dumpmysqlslapmysql-test-run。plmysqld_safemysqladminmysqlshowmysql_tzinfo_to_sqlmysqltestmysqlbackupmysqld_multimysqlmysqldumpslowmysqlcheckmysql_upgrademysqlimportcomp_errmysqldmyisamchkinnochecksum
您可能还需要考虑添加
zombie kr
到您的.screenrc,因此,如果您使用它无法识别的术语运行手册,屏幕不会自动关闭窗口(并隐藏错误消息)。
虽然我不知道如何开始为 vim 创建一个包装器以完全按照您的意愿进行操作,但我可能会建议您如何使用 vim 内置的函数实现类似的效果。
:! <command>将允许您使用与 vim 的 K 命令类似的界面运行 shell 命令。这可能不是最干净的方法,但是通过使用,:!您应该能够快速调用给定术语的 MySQL 手册,而无需完全离开 vim。
如果你真的需要为 vim 编写自己的插件,这篇文章也许能给你一些指导和帮助,让你知道从哪里开始。
我希望这有帮助!
我喜欢回收我的手册页,以便我可以轻松阅读手册。我建议对 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'