emacs öffnet keine Datei aus einem Argument und die Syntaxhervorhebung funktioniert nicht


27

In meiner neuesten Ubuntu-Box,

  1. Wenn ich zum Beispiel emacs ~/.bashrctippe, wird Emacs gestartet, aber nicht geöffnet .bashrc. Dies gilt für alle Dateien, die ich weitergebe. Ich habe Emacs mehrere Jahre lang verwendet und dieses Problem noch nie erlebt.

  2. Ich (global-font-lock-mode 1);;habe meiner .emacs-Datei hinzugefügt , und Emacs erkennt sie beispielsweise. "(C++/; Abbrev)"Es wird jedoch keine Syntaxhervorhebung durchgeführt.

Wenn Sie eines dieser Probleme lösen können, wird es sehr geschätzt. Das Folgende ist die Konfiguration meiner Maschine:

uname -a
Linux 2.6.35-28-generic-pae # 49-Ubuntu SMP Di 1. März 14:58:06 UTC 2011 i686 GNU / Linux

~ / .emacs
(global-font-lock-mode 1) ;;


1
Besser auf askubuntu.com
Oded

1
Was passiert, wenn Sie Emacs starten und dann C-x C-fzum Öffnen verwenden ~/.bashrc? Könnte Ihnen eine nützliche Fehlermeldung geben.

1
Enthält der *Messages*Puffer etwas Nützliches?
MatthewD

1
hi vielen dank, es scheint, dass es durch das verzeichnis ~ / .emacs.d verursacht wird, emacs beschwert sich tatsächlich beim start: "~ / .emacs.d existiert bereits". Also habe ich ~ / .emacs.d entfernt und jetzt funktioniert alles! (Ich kann Dateien über ein Befehlszeilenargument öffnen, und die Syntaxhervorhebung funktioniert jetzt auch). @ Tom, vorher kann ich Emacs starten und dann Cx Cf verwenden, um .bashrc zu öffnen, aber ich kann nicht mit> emacs ~ / .bashrc

Antworten:


34

Ich habe das gleiche Problem. Das lag daran, dass ich Emacs zum ersten Mal mit sudo verwendet habe. Infolgedessen wurde die .emacs.d mit Superuser-Rechten erstellt und ich konnte nicht als regulärer Benutzer darauf zugreifen.

Indem Sie die als root erstellte .emacs.d entfernen, lassen Sie emacs eine neue mit Ihrem Benutzerkonto erstellen.


3
oder Sie können einfach den Besitzer ändernsudo chown -hR <groupname>:<username> .emacs.d/
logcat

1
Ja, das hat das Problem behoben. Es wäre großartig, wenn Emacs Informationen zu diesem Fehler
anzeigen würde

Es sollte wirklich eine Art Diagnose geben. Dies muss häufig vorkommen, wenn emacs als Systemadministrationstool verwendet wird.
Jules

4

Sie können sowohl eine ~/.emacsDatei als auch ein ~/.emacs.d/Verzeichnis haben, aber Emacs ignoriert die ~/.emacs.d/init.elDatei. Emacs wertet nur aus, ~/.emacs.d/init.elwenn es keine gibt ~/.emacs. (Danke, Pyrocrasty ).

Siehe: Die Emacs-Initialisierungsdatei @ GNU Emacs-Handbuch .


Das stimmt überhaupt nicht. Ich habe ~/.emacsjahrelang eine Datei benutzt und hatte auf jeden Fall immer ein ~/.emacs.d/Verzeichnis. Es wird keinen Konflikt geben, wenn Sie nicht gleichzeitig eine ~/.emacsDatei und eine ~/.emacs.d/init.elhaben, und selbst dann wird Emacs nur eine ignorieren (ich glaube, es hat Priorität ~/.emacs).
Pyrocrasty

Wenn Sie einen Fehler korrigieren, streichen Sie ihn in Zukunft nicht mehr durch, sondern entfernen Sie ihn nur noch vollständig. Vielen Dank. Ich habe den Kommentar dabei belassen, damit Sie tatsächlich mitteilen können, dass Sie Ihre Antwort korrigiert haben. (Sie können Sie positiv stimmen oder eine negative Bewertung rückgängig machen.)
16.

-1

initial-buffer-choiceIn startup.elermöglicht die anfängliche Anpassung von Dateien.


2
Vielleicht wäre ein gewisser Kontext hilfreich. Eine Beispielkonfiguration?
JoshP
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.