Иметь Vim-like K в Screen для MySQL

Этот вопрос основан на этой теме.

Проблема: получить доступ к руководству MySQL, когда курсор находится в начале слова,

Ctrl-A Esc Ctrl-m

где m напоминает о M ysql.

Как вы можете создать Vim-подобный K в Screen для руководств MySQL?

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, вам придется изменить скрипт соответственно.

man страницы для mysql, которые я нашел по ссылке выше, содержат только документацию по следующим командам:

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, так что, если вы запустите руководство по термину, который он не распознает, экран автоматически не закроет окно (и не скроет сообщение об ошибке).

Я люблю перерабатывать свои страницы Man так, чтобы я мог легко читать руководства. Я предлагаю следующее улучшение команды 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'

Мой код дает вам знак процента внизу руководства.

Хотя я не уверен, как начать с создания оболочки для vim, которая будет делать именно то, что вы хотите, я могу предложить, как вы можете добиться аналогичного эффекта с помощью функции, встроенной в vim.

:! <command> позволит вам запускать команды оболочки с интерфейсом, аналогичным команде K vim. Это может быть не самый чистый способ сделать это, но с помощью :! Вы должны быть в состоянии быстро вызвать руководства MySQL для данного термина, не покидая vim.

Если вам действительно нужно написать собственный плагин для vim, эта статья может дать вам несколько советов и указание, с чего начать.

Надеюсь, это поможет!

Другие вопросы по тегам