Ter vim K na tela para MySQL
-
23-08-2019 - |
Pergunta
Esta pergunta é baseada em este tópico.
Problema: Para acessar o manual do MySQL quando o cursor está no início da palavra por
Ctrl-A Esc Ctrl-m
onde M lembra sobre MYSQL.
Como você pode construir um K do tipo Vim na tela para os manuais do MySQL?
Solução
Supondo que você instalou as páginas do homem de Site de documentação do MySQL:
Coloque o seguinte /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
Em seguida, adicione isso ao seu ~/.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
Então sua realização de chaves deve funcionar. Se você está usando um programa diferente para exibir o manual que não seja man
, você terá que mudar o script de acordo.
o man
As páginas para MySQL que encontrei no link acima incluem apenas documentação para os seguintes 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
Você também pode considerar adicionar
zombie kr
para o seu .screenrc
, para que, se você executar o manual em um termo que ele não reconhece, a tela não fechará automaticamente a janela (e ocultar a mensagem de erro).
Outras dicas
Embora eu não tenha certeza de como começar a criar um invólucro para o VIM fazer exatamente o que você deseja, posso fazer uma sugestão sobre como você pode obter um efeito semelhante com uma função incorporada no VIM.
:! <command>
Permitirá que você execute comandos Shell com uma interface semelhante ao comando K do Vim. Pode não ser a maneira mais limpa de fazê -lo, mas usando :!
Você poderá ligar para os manuais do MySQL para um determinado termo rapidamente, sem sair completamente do VIM.
Se você realmente precisa escrever seu próprio plug -in para o vim, Este artigo Pode ser capaz de lhe dar algumas dicas e um apoio à mão sobre por onde começar.
Eu espero que isso ajude!
Adoro reciclar minhas páginas para que eu possa ler manuais facilmente. Sugiro a seguinte melhoria no comando de Rampion.
Rampion
screen /bin/sh -c 'man `cat /tmp/screen-copied-term` || read'
Eu
screen /bin/sh -c 'man `cat /tmp/screen-copied-term` > /tmp/manual | less /tmp/manual'
Meu código fornece o sinal percentual no fundo de um manual.