Tener K en pantalla tipo Vim para mysql
-
23-08-2019 - |
Pregunta
Esta pregunta se basa en este hilo.
Problema: Para acceder al manual de MySQL cuando el cursor está al comienzo de la palabra por
Ctrl-A Esc Ctrl-m
donde m recuerda METROYSQL.
¿Cómo puedes construir una K en la pantalla tipo VIM para los manuales de MySQL?
Solución
Suponiendo que haya instalado las páginas del hombre desde Sitio de documentación de MySQL:
Pon lo siguiente /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
Luego agregue esto a su ~/.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
Entonces tu keybinding debería funcionar. Si está utilizando un programa diferente para mostrar el manual que no sea man
, tendrás que cambiar el script en consecuencia.
los man
Las páginas para MySQL que encontré en el enlace anterior solo incluyen documentación para los siguientes comandos:
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
También es posible que desee considerar agregar
zombie kr
para usted .screenrc
, de modo que si ejecuta el manual en un término que no reconoce, la pantalla no cierre automáticamente la ventana (y oculta el mensaje de error).
Otros consejos
Si bien no estoy seguro de cómo comenzar a crear una envoltura para que VIM haga exactamente lo que desea, podría hacer una sugerencia sobre cómo puede lograr un efecto similar con una función integrada en VIM.
:! <command>
le permitirá ejecutar comandos de shell con una interfaz similar al comando K de VIM. Puede que no sea la forma más limpia de hacerlo, sino usando :!
Debería poder llamar a los manuales MySQL rápidamente para un término dado rápidamente sin dejar completamente VIM.
Si realmente necesita escribir su propio complemento para VIM, Este artículo podría darle algunos consejos y un asa sobre dónde comenzar.
¡Espero que esto ayude!
Me encanta reciclar mi hombre, páginas de tal manera que pueda leer fácilmente manuales. Sugiere la siguiente mejora al comando de Rampion.
Rampión
screen /bin/sh -c 'man `cat /tmp/screen-copied-term` || read'
Yo
screen /bin/sh -c 'man `cat /tmp/screen-copied-term` > /tmp/manual | less /tmp/manual'
Mi código le da el porcentaje de signo en la parte inferior de un manual.