Emacs C++, Öffnen der entsprechenden Header-Datei

Lesezeit: 2 Minuten

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


Benutzer-Avatar
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.cppund 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

1353920cookie-checkEmacs C++, Öffnen der entsprechenden Header-Datei

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy