11 Stimmen

Wie benutzt man die "K"-Taste im normalen Modus von VIM?

K wird zum Öffnen von Handbüchern verwendet. Mich interessiert, wie Sie es verwenden. Können Sie es für alle Arten von Handbüchern verwenden, wie C, Java und andere Dinge?

16voto

Laurence Gonsalves Punkte 131009

Einfach ausgedrückt, führt K den mit der Option 'keywordprg' angegebenen Befehl für das "Wort" unter dem Cursor aus (wobei ein "Wort" ein zusammenhängender Block aus Buchstaben, Zahlen und anderen mit der Option 'iskeyword' angegebenen Zeichen ist).

Auf Unix-basierten Systemen ist "keywordprg" standardmäßig auf "man" eingestellt, so dass alles, wofür der Befehl "man" ein nützliches Handbuch liefert, mit K in dieser Standardeinstellung nachgeschlagen werden kann. Die meisten Unix-Systeme haben man-Seiten für C-Bibliotheken, so dass Sie C-Bibliotheksfunktionen ziemlich einfach nachschlagen können.

Die meisten Systeme haben jedoch keine Manualseiten für Java. Um die Java-Dokumentation nachzuschlagen, müssen Sie entweder Manualseiten für Java installieren oder die 'keywordprg'-Einstellung so ändern, dass ein anderes Programm (als "man") aufgerufen wird, das die Java-Dokumentation anzeigt.

Hier ist ein Python-Skript, das Sie verwenden können:

#!/usr/bin/python

import urllib, os, sys, commands

os.system('firefox' + commands.mkarg(
  'http://www.google.com/search?q='
  + urllib.quote_plus(' '.join(sys.argv[1:]))
  + '+site%3Ajava.sun.com+inurl%3Ajavase%2F6%2Fdocs%2Fapi&btnI=')
  + ' &')

Speichern Sie dies als javaman.py , chmod +x javaman.py in den Pfad und dann in vim einfügen:

:setlocal keywordprg=javaman.py

Wenn Sie dann K drücken, wird javaman.py aufgerufen, das wiederum eine "I'm feeling Lucky"-Suche bei Google nach den relevanten Java-API-Dokumenten durchführt.

Auf Nicht-Unix-Systemen müssen Sie möglicherweise python in den Befehl aufnehmen:

:let &keywordprg='python javaman.py'

Wahrscheinlich müssen Sie auch das Skript ändern (zum Beispiel verwendet es derzeit "&" für den Hintergrund von Firefox, was ein Unix-ismus ist).

8voto

soulmerge Punkte 70900

:help K kann Ihnen mehr Erklärungen geben als jeder andere hier

2voto

JaredPar Punkte 699699

Ja. Sie müssen die Variable keywordprg aktualisieren, damit sie auf ein Programm verweist, das ein Stichwort in der Sprache Ihrer Wahl nachschlagen kann. Im Allgemeinen können Sie nach bestimmten Sprachen und Lösungen googeln. Hier sind ein paar von ihnen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X