Einführung

Einführung

In erster Linie ein Wort der Warnung: Während sich die vorherigen Artikel um den Anfänger konzentrierten, ist dieser Artikel für fortgeschrittenere Benutzer gedacht, die bereits eine oder zwei Programmiersprache „sprechen“ und ihren Editor anpassen möchten, dass es ideal für die ist Aufgabe. Es wird also erwartet, dass Sie mehr oder weniger kompetente Wege der EMACs haben, es für tägliche Aufgaben verwenden und die Fähigkeit und den Wunsch haben, etwas Neues zu lernen. Schließlich wird es für Ihre eigene Belohnung dienen, und Ihre Programmieraufgaben werden effizienter. Unser Ansatz wird es sein, ein paar beliebte Sprachen aufzunehmen, Ihnen zu zeigen, wie Sie EMACs für die perfekte Entwicklungsumgebung konfigurieren, und dann zur nächsten Sprache übergehen. Die EMACS -Konfiguration erfolgt in einem Lisp -Dialekt namens Elisp, aber mach dir keine Sorgen, wenn du es noch nicht weißt, wir sagen dir, was du brauchst.

Die Sprachen

Erstens etwas Hintergrund. In diesem Artikel handelt es sich. Das liegt daran. Während der Entfernung der Funktionalität gibt es möglicherweise nur einige Funktionen, die entfernt werden, und wir werden hier wahrscheinlich brauchen. Kurz gesagt. Zweitens die Dateien. In unseren Beispielen neben dem Anpassen des ~/ Anpassen.EMACS -Datei erstellen wir ein Verzeichnis mit dem Namen ~/.EMACs.d/ wo wir unsere Modi platzieren werden. So wie EMACs weiß, welche Art von Syntax hervorhebt, Einrückung usw. Für verschiedene Texttypen wie HTML, Tex, C -Quellcode und andere über Modi können wir Modi zu unserem Geschmack hinzufügen/ändern. Dies ist das, was wir tun werden. Praktisch gesehen ist ein Modus eine Datei mit a .EL -Erweiterung (von Elisp), die in ~/ fallen gelassen wird.EMACs.d, dann ~/.EMACs werden geändert, damit der Herausgeber über die neue Erweiterung „Bescheid“. Sie werden in wenigen Augenblicken sehen, je nachdem, wie schnell Sie gelesen haben.

C/c++

Es scheint offensichtlich, dass wir mit C beginnen werden, weil es das ist Lingua Franca von Unix und Linux. EMACS ist ebenfalls (teilweise) in C geschrieben, daher gibt es einen weiteren Grund für Sie. Obwohl EMACS basierend auf der Dateierweiterung die Sprache erkennt, in der Sie schreiben, benötigen Sie möglicherweise eine weitere Anpassung. In unserem Artikel sagten wir, dass EMACs im C -Modus bereits den GNU -Codierungsrichtlinien für Registerkarten, Einrückung usw. entsprechen. Wenn Sie jedoch Code zum Linux -Kernel beitragen möchten, ändert sich die Situation. Offensichtlich haben Sie den Kernel -Versuch bereits irgendwo heruntergeladen, aber wenn Sie dies nicht tun, ist hier ein Auszug aus Dokumentation/Codingstyle (aber wenn Sie mit den Kernel -Jungs zusammenarbeiten, muss diese Datei unter Ihrem Kissen stehen):

Registerkarten sind 8 Zeichen, und daher sind Eindringlinge auch 8 Zeichen. Es gibt ketzerische Bewegungen, die versuchen, Einrückung 4 (oder sogar 2) zu machen!) Charaktere tief, und das ähnelt dem Versuch, den Wert von pi als 3 zu definieren. […] Das andere Problem, das immer im C -Styling auftaucht, ist die Platzierung von Zahnspangen. Im Gegensatz zur Einrückungsgröße gibt es nur wenige technische Gründe, eine Platzierungsstrategie über die andere auszuwählen, aber die bevorzugte Art und Weise, wie uns die Propheten Kernighan und Ritchie gezeigt, besteht darin BRACE ERSTUNG, SO SCHLIESSLICH: Wenn (x ist wahr) wir machen y 

Sie sehen also, dass dies bereits mit der Art und Weise in Konflikt steht, wie EMACs standardmäßig Dinge tut, und Sie möchten zusätzliche Funktionen haben, z. Auf geht's. Da es bereits einen C -Modus gibt, müssen wir ihn nur durch Bearbeiten ~/ anpassen.EMACs:

;; So werden Kommentare verwendet, aber es ist besser zu lesen ;; http: // www.CS.CMU.edu/cgi-bin/info2www?%28LISP%29Comment%20TIPS (SETQ Standard-Indent 8) (Zeilen-Number-Modelle 1) (Spalten-Number-Modelle 1) (set-background-color "schwarz") (Set-Cursor-Color "Rot") 

In Bezug auf Öffnungsspangen, die nicht in ihre eigene Reihe platziert werden, gibt es nichts, worüber man sich Sorgen machen muss: EMACs werden so wirken, wie Sie es erwarten, wenn Sie diesen Codierungsstil bevorzugen.

Python

Dank Pedro Kroger haben wir eine einfache Idee (und möchten sie teilen), wie Sie Ihre EMACs konfigurieren, wenn Sie ein Python -Entwickler sind. Unnötig zu erwähnen, dass alles, was Sie hier lesen.X . Andernfalls sind Sie alleine, da Kompatibilitätsprobleme auftreten können.

Viele Ausschüttungen bieten a Python-Mode verpackt. Auf Debian, Gentoo und Derivaten heißt es Python-Mode, auf Fedora scheint es in das EMACS-Paket integriert zu sein, Arch hat es unter dem Namen EMACS-Python-Mode und OpenSuse hat die gleiche Situation wie Fedora. Jetzt bearbeiten wir ~//.EMACs, so dass es davon weiß, nachdem wir es installiert haben, natürlich:

(add-to-list 'load-path "~/.EMACs.d ") (erfordern 'Python-Modus) (add-to-list' Auto-Mode-alist '(" \\.py \\ '" . Python-Mode)) 

Es gibt viele andere Modi für Python, verpackt oder nicht. Wir empfehlen Pedros Blog für weitere Informationen. Das EMACS Wiki ist auch ein guter Ort, um zu suchen, nicht nur nach Python -Informationen, da es sich um eine wohlhabende Ressource handelt. Mit Python-Mode können Sie den Code ausführen, den Sie gerade im selben Fenster geschrieben haben, aufgrund der interpretierten Natur der Sprache. Also nach dem Öffnen/Erstellen/Bearbeiten Ihrer .PY-Datei, Typ c-c ! um eine Pythonschale zu bekommen. Geben Sie mit C-X O zurück zur Quelle, und geben Sie dann C-C-C-C ein, um den Interpreter auf… nun, den Inhalt des Puffer zu interpretieren. Sie können die Ergebnisse im unteren Teil des Fensters sehen.

Php

Da und dies auch für den oben genannten Python -Modus verfügbar ist, nennen verschiedene Verteilungen diese Modi anders, und einige haben sie überhaupt nicht. Wir empfehlen Ihnen, sich etwas Zeit zu sparen und die Homepage des jeweiligen Modus zu finden .EL -Datei in ~/.EMACs.D und erzählen Sie Emacs davon. In unserem Fall ist der PHP -Modus leicht zu finden. Laden Sie ihn also herunter und geben Sie dann Folgendes in ~/ ein.EMACs:

(add-to-list 'load-path "~/.EMACs.D ") ;; Beachten Sie das ' - Es ist kein Tippfehler! (erfordern 'Php-Mode) 

Möglicherweise möchten Sie eine dritte Zeile hinzufügen, genau wie die im Python-Teil, damit EMACs PHP-Mode verwenden, wenn er a öffnet .PHP -Datei. Wir werden bereits bereits erwähnte Befehle wiederholen. Jetzt, da Sie wissen, was Sie zu Ihrem ~/ hinzufügen sollen.EMACS -Datei werden wir uns nur auf neue Informationen konzentrieren. Da wir über die Erweiterung vorhandener Modi gesprochen haben, nun, da Sie den PHP -Modus vorhanden haben.Emacs für Drupal-spezifische Codierung (natürlich dank der Jungs bei Drupal)

(Defun Drupal-Mode () "Drupal PHP-Mode."(interaktiv) (PHP-Mode) (Message" Drupal-Modus aktiviert.") (Registerkarte 2) (setze 'C-Basic-Offset 2) (Setzen Sie' Einkleber-Tabs-Mode-NIL) (C-Set-Offset 'Case-Label'+) (C-Set-Offset '' argList-intro '+); für FAPI-Arrays und DBTNG (c-set-offset' arglist-cont-noneMpty 'c-lineup-math); für DBTNG-Felder und -Werte; mehr drupalspezifische Anpassungen hier) (Defun Setup-Php -Drupal (); Drupal (add-to-list 'Auto-Modus-Alist' ("\\.\\ (modul \\ | test \\ | install \\ | thema \\) $ " . Drupal-Mode)) (add-to-list 'Auto-Mode-Alist' ("/Drupal.*\\.\\ (php \\ | Inc \\) $ " . Drupal-Mode)) (add-to-list 'Auto-Mode-alist' ("\\.die Info" . conf-windows-mode)))) (setup-php-drupal) 

Obwohl ich im wirklichen Leben vielleicht ein wenig unordentlich sein könnte, mag ich, wenn es um meine computerbezogenen Aufgaben geht, Bestellung. Aus diesem Grund würde ich den obigen Code in eine separate Datei in ~/emacs einfügen.d, dann sag ~/.EMACs, wie man es benutzt. Dadurch können Sie Ihr ~/ nicht überladen.EMACS-Datei und separate sprachspezifische Anweisungen mit generischen Anweisungen. Wie Sie oben gesehen haben, gibt es beispielsweise C-Kreise, wenn Sie aufgefordert werden. Aber wenn ich ein C und auch ein Python-Programmierer bin, möchte ich sicherlich nichts anderes als 4-Zeichen-Registerkarten verwenden (siehe Pep 8, um Richtlinien in Python zu codieren).

Sql

Jetzt ist SQL ein etwas anderes Tier. Es hat nicht so viele Codierungsrichtlinien wie andere Sprachen, aber gleichzeitig erweitert jeder Anbieter, kommerzielle (Oracle, Microsoft) oder nicht (SQLite, Postgres) die ANSI -Standardsprache mit bestimmten Teilen mit bestimmten Teilen. Ein guter SQL -Modus muss also wissen, wie man mit verschiedenen Implementierungen umgeht, um nützlich zu sein. Richtig, also haben wir über das gleiche EMACS -Wiki SQLMode gefunden, was anscheinend genau das ist, was wir wollten. Es kennt Postgres, MySQL, Ingres, DB2, Oracle, Informix und Sybase, um nur einige zu nennen. Sie können es einfach bekommen, speichern und verwenden. Sie können sich auch den mehr Blutungskanten-Lisp: SQL ansehen, aber wir werden uns nur SQLMode ansehen.

Lass uns zur Arbeit gehen. Um das SQL -Interpreter aus einem Fenster im SQL -Modus zu erreichen, tun Sie dies: M-X SQL-Set-SQLI-Buffer Return * SQL * Return. Was folgt, ist ein sehr praktischer Code -Snippet zum separaten Speichern der Geschichte für jeden SQL -Dialekt (e.G. Sybase, MSSQL usw.). Damit dies funktioniert, erstellen Sie einfach ein SQL -Verzeichnis unter ~//.EMACs.D, dann fügen Sie diesen Haken zu ~/ hinzu.EMACs:

(Defun My-SQL-Save-History-Hook () (let ((Lval 'SQL-Input-Ring-Ring-Datei-Name) (Rval' SQL-Produkt)) (if (Symbol-Wert Rval) (let ((Filename) (concat "~/.EMACs.d/sql/"(Symbolname (Symbolwert RVAL))" -Plitters.SQL "))) (set (make-lokal-variable lval) Dateiname)) (Fehler (Format" SQL-Geschichte wird nicht gespeichert "SQL-Interactive-Mode-Hook" My-SQL-Save-History-Hook) 

Andere nützliche SQL -Modi

  • Plsqlmode
  • SQLINDENT
  • Sqltransform
  • Sqlplus
  • Sqlreplace

All dies kann mit dem EMACS -Wiki gefunden werden, aber das sind nicht die einzigen, die. Die Verwendung der Suchfunktion des Wiki macht einen glücklichen EMACS -Benutzer, da Sie viele praktische Modi finden.

Abschluss

Dies sind nur einige der Sprachen, die EMACs unterstützt, sei es außerhalb des Boxs oder über Erweiterungen. Leider musste die obige Liste aufgrund des Platzmangels eine kurze sein, aber mit der Fülle von Informationen online können Sie mit ein wenig Anstrengung einen Modus für Ihre Sprache finden oder, noch besser, lernen, wie Sie Ihre schreiben können eigen.

Verwandte Linux -Tutorials:

  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Mastering -Bash -Skriptschleifen beherrschen
  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Verschachtelte Schleifen in Bash -Skripten
  • Big Data Manipulation zum Spaß und Gewinn Teil 1
  • Manjaro Linux gegen Arch Linux
  • Ubuntu 20.04 Leitfaden
  • Best Terminalspiele unter Linux