2009-07-04 5 views
0

Diese Frage basiert auf this thread.Um Vim-like K in Bildschirm für MySQL zu haben

Problem: für den Zugriff auf MySQL-Handbuch, wenn der Cursor am Anfang des Wortes ist durch

Ctrl-A Esc Ctrl-m 

wo m über M ysql erinnert.

Wie können Sie ein Vim-ähnliches K in Screen für MySQL Handbücher erstellen?

+0

Ich öffnete einen Thread über die Installation von MySQL-Handbücher unter http://StackOverflow.com/Questions/1104536/unable-Toinstall-mysql-Manuals-to-Mac –

Antwort

3

Angenommen, haben Sie die man-Seiten von MySQL's documentation site installiert:

die in /path/to/mysql-help.screen folgende Put:

# 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 

Dann ist dieses ~/.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 

Dann wird Ihr Keybinding zu Ihrem hinzufügen sollte funktionieren . Wenn Sie ein anderes Programm verwenden, um das Handbuch anders als man anzuzeigen, müssen Sie das Skript entsprechend ändern.

Die man Seiten für mysql, die ich auf den obigen Link nur gefunden werden, schließen Dokumentation für die folgenden Befehle:

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

Sie können auch

zombie kr 

zu Ihrem .screenrc Hinzufügen zu berücksichtigen, so dass, wenn Sie das Handbuch laufen Bei einem Begriff, der nicht erkannt wird, wird der Bildschirm nicht automatisch geschlossen (und die Fehlermeldung ausgeblendet).

+0

@rampion: Es scheint einen Fehler im Binding commnad 'bind -c ... -c escpaped' zu geben. Ich habe versucht, es durch 'bindkey -m^m source/Benutzer/mati/bin/screen/mysql-help.screen 'erfolglos zu beheben. –

+0

@rampion: Welchen Bildschirm benutzen Sie? Ich benutze 4.00.03 (OS X) und es scheint nicht das Defzombie-Kommando zu haben. –

+0

gut, Sie falsch geschrieben entkommen. und es sind zwei Befehle, weshalb es in zwei Zeilen ist. – rampion

0

Während ich nicht sicher bin, wie Sie einen Wrapper für vim erstellen, um genau das zu tun, was Sie wollen, könnte ich einen Vorschlag machen, wie Sie einen ähnlichen Effekt mit einer in vim eingebauten Funktion erreichen können.

:! <command> können Sie Shell-Befehle mit einer ähnlichen Schnittstelle zu Vim K-Befehl ausführen. Es ist vielleicht nicht der sauberste Weg, aber wenn Sie 10 verwenden, sollten Sie in der Lage sein, die MySQL-Handbücher für einen bestimmten Begriff schnell aufzurufen, ohne vim vollständig zu verlassen.

Wenn Sie wirklich Ihr eigenes Plugin für vim schreiben müssen, könnte this article Ihnen in der Lage sein, Ihnen einige Hinweise und einen Halt zu geben, wo man beginnt.

Ich hoffe, das hilft!

+0

Das Problem ist, eine solche Komponente zu Bildschirm so zu bauen Sie können diese Handbücher überall dort verwenden, wo Sie MySQL-Fehlermeldungen im Terminal haben. --- Eine solche Komponente zu Vim zu bauen würde uns Editor-abhängig machen, was nicht gut ist. –

+0

Ah, du willst kein Plugin für vim erstellen, du willst ein Plugin für Screen erstellen. Entschuldigung, das war nicht ganz klar. –

+0

Ich fing auch an, ein Mapping für Vim zu schreiben, bevor ich merkte, dass es stattdessen für Screen sein musste. –

0

Ich liebe es, meine Man-Seiten so zu recyceln, dass ich leicht Handbücher lesen kann. Ich empfehle die folgende Verbesserung zu Rampions Befehl.

Rampion

screen /bin/sh -c 'man `cat /tmp/screen-copied-term` || read' 

Me

screen /bin/sh -c 'man `cat /tmp/screen-copied-term` > /tmp/manual | less /tmp/manual' 

My code gives you the percent sign to the bottom of a manual.

+2

Hier ist, was ich tatsächlich in diesen Tagen benutze: http://gist.github.com/139318 – rampion

+0

@rampion: Bitte sehen Sie diesen Thread über Ihren Befehl http://StackOverflow.com/Questions/1120756/unable-to-understand-a-code-in-screenrc –

Verwandte Themen