这个问题是基于这个线程。
问题:当光标在单词的开头时访问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
,则必须相应地更改脚本。
我在上面的链接中找到的man
mysql 页面仅包含以下命令的文档:
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
-test
。pl
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
-run
。pl
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
,因此,如果您使用它无法识别的术语运行手册,屏幕不会自动关闭窗口(并隐藏错误消息)。
虽然我不知道如何开始为 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'