Ich bin neu bei Emacs und habe mich gefragt
-
wenn es eine Verknüpfung gibt, um zwischen Header/Quelle und der entsprechenden Quelle/Header-Datei zu wechseln
-
wenn es eine Referenzkarte wie die allgemeine Emacs-Referenzkarte gibt
Vielen Dank !
Ich bin neu bei Emacs und habe mich gefragt
wenn es eine Verknüpfung gibt, um zwischen Header/Quelle und der entsprechenden Quelle/Header-Datei zu wechseln
wenn es eine Referenzkarte wie die allgemeine Emacs-Referenzkarte gibt
Vielen Dank !
Es gibt ff-find-other-file
.
Sie können dies an Ihren eigenen Schlüssel binden, indem Sie Folgendes verwenden:
(global-set-key (kbd "C-x C-o") 'ff-find-other-file)
Aber natürlich müssen Sie einen Schlüssel auswählen, an den noch nichts Nützliches gebunden ist 🙂
Ich denke, dass Sie es nach Möglichkeit vorziehen sollten, Ihre eigenen Tastenkombinationen des Formulars zu erstellen "C-c <letter>"
, wobei der zweite Tastendruck nicht mit einem STRG-Zeichen gepaart ist. Ich erinnere mich, dass ich beim ersten Start von emacs gelesen habe, dass es erst kürzlich (zur Zeit von emacs) eine massive Umstrukturierung der Shortcuts gegeben hatte, die speziell existierten, um diesen Namensraum für Benutzerbindungen zu reservieren. "C-x C-*"
wird wahrscheinlich von einem Hauptmodus oder von emacs selbst verwendet. Zum Beispiel, "C-x C-o"
wird mitgenommen (delete-blank-lines)
standardmäßig in meiner Installation.
– Quodlibetor
29. August 2011 um 15:19 Uhr
Ich hätte den Rest der Antworten lesen sollen: mloskots Antwort unten folgt den Best Practices für die Tastenkombination, Emacs-Benutzer sollten normalerweise so etwas tun, es sei denn, sie möchten wirklich, dass etwas global ist.
– Quodlibetor
29. August 2011 um 15:23 Uhr
Was tun Sie, wenn Ihre Dateien sind .cpp
und .h
? dies scheint die Datei nicht zu finden
– Mike HR
18. März 2015 um 12:31 Uhr
(defvar my-cpp-other-file-alist ‘((“\\.cpp\\'” (“.h”)) (“\\.h\\'” (“.cpp”)))) ( setq-default ff-other-file-alist ‘my-cpp-other-file-alist) führen Sie die obigen Schritte aus und befolgen Sie dann die oben angegebenen Anweisungen. Wenn Sie auf weitere Paare erweitern möchten, fügen Sie einfach my-cpp-other-file-alist hinzu.
– Don Shanil
21. September 2016 um 16:04 Uhr
mloskot
Sehen Sie sich den ausgezeichneten Emacs-fu-Artikel an Schnelles Umschalten zwischen Header und Implementierung
Falls der Blogbeitrag verschwunden ist, hier ist eine Kopie der Lösung:
(add-hook 'c-mode-common-hook
(lambda()
(local-set-key (kbd "C-c o") 'ff-find-other-file)))
Jetzt können wir mit Cc o schnell zwischen myfile.cc und myfile.h wechseln. Beachten Sie die Verwendung des c-mode-common-hook, damit es sowohl für C als auch für C++ funktioniert.
ff-find-other-file
fordert mich auf, einen Speicherort anzugeben, an dem sich die Header-Datei befinden könnte, was genau das ist, was die Funktion für mich tun soll. Meine Header-Dateien befinden sich oft an dieser Art von Speicherort, in Bezug auf die Quelle, in der ich mich gerade befinde: ../../inc/mydir
. Wie in, Quelldatei ist src/mydir/file.cpp
und Kopfzeile ist inc/mydir/file.hpp
. Würdest du erwarten ff-find-other-file
auch in diesem Fall automatisch arbeiten?
– Gauthier
23. Juni 2016 um 7:41 Uhr
Ich verwende das eassist-Paket von CEDET contrib und es hat die eassist-switch-h-cpp-Funktion, um diese Aufgabe zu erledigen
Wissen Sie, ob es etwas tut, was die andere Option (siehe andere Antwort) nicht tut?
– Cédric H.
18. August 2010 um 13:35 Uhr