Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:emacsandforth:emacs_und_forth

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projects:emacsandforth:emacs_und_forth [2017-08-27 16:08] – [Referenzkarten] casprojects:emacsandforth:emacs_und_forth [2018-03-04 03:11] (aktuell) – [Über Emacs] ein freches überflüssiges Leerzeichen verscheucht. yeti
Zeile 1: Zeile 1:
-====== Über Emacs ======+====== Emacs und Forth ====== 
 + 
 +===== Über Emacs ===== 
  
 Emacs ist ein Editor und eine Laufzeitumgebung für allerlei Emacs ist ein Editor und eine Laufzeitumgebung für allerlei
Zeile 6: Zeile 9:
 Webbrowser, Kontaktdatenbank und vieles mehr). Webbrowser, Kontaktdatenbank und vieles mehr).
  
-Emacs ist alt. Fast so alt wie Forth. Es wurde auf Betriebssystem +Emacs ist alt. Fast so alt wie Forth. Es wurde (wie Forth) auf Betriebssystemen 
-entwickelt, die heute obsolete sind (wie Forth). Da Emacs erweiterbar+entwickelt, die heute obsolete sind. Da Emacs erweiterbar
 ist, wurde es immer angepasst und auf moderne Systeme portiert. Daher ist, wurde es immer angepasst und auf moderne Systeme portiert. Daher
 benutzt Emacs viele Begriffe, die in anderen Systemen (Windows, macOS benutzt Emacs viele Begriffe, die in anderen Systemen (Windows, macOS
Zeile 14: Zeile 17:
  
 Emacs ist (wie Forth) am Anfang nicht immer einfach zu verstehen, aber Emacs ist (wie Forth) am Anfang nicht immer einfach zu verstehen, aber
-es lohnt sich, Emacs eine Chance zu geben. Am besten mal lernt Emacs +es lohnt sich, Emacs eine Chance zu geben. Am besten lernt man Emacs 
-in kleinen Happen. Bei Emacs lernt man nie aus, es gibt immer neues +in kleinen Happen. Bei Emacs lernt man nie aus, es gibt immer Neues 
-und fazinierendes zu entdecken.+und Fazinierendes zu entdecken.
  
 Es gibt viele Emacs Ableger, hier geht es um das Original, GNU Emacs. Es gibt viele Emacs Ableger, hier geht es um das Original, GNU Emacs.
Zeile 64: Zeile 67:
   * Emacs Tutor https://tuhdo.github.io/emacs-tutor.html   * Emacs Tutor https://tuhdo.github.io/emacs-tutor.html
   * Emacs Manual https://www.emacswiki.org/emacs/EmacsManual   * Emacs Manual https://www.emacswiki.org/emacs/EmacsManual
 +  * Planet Emacsen https://planet.emacsen.org
 +  * Sacha Chua Emacs http://sachachua.com/blog/category/geek/emacs/
  
 +===== Videos =====
 +
 +   * Using Emacs https://www.youtube.com/playlist?list=PL9KxKa8NpFxIcNQa9js7dQQIHc81b0-Xg
 ===== Referenzkarten ===== ===== Referenzkarten =====
  
Zeile 77: Zeile 85:
 ===== Installation ===== ===== Installation =====
  
-Emacs startenden Emacs-Paketmanager aufrufen mit "M-x list-packages" die Paketliste ladenmit "C-s forth-mode" den Forth-Mode suchen, mit "i" für die Installation vormerken und mit "x" installieren.+Das MELPA Repositoriy muss im Emacs-Paketmanager eingetragen seinin der Emacs-Konfigurationsdatei z.B. mit 
 + 
 +<code> 
 +(setq package-archives '(("melpa" . "http://melpa.milkbox.net/packages/"))) 
 +(package-initialize) 
 +</code> 
 + 
 +Emacs starten, den Forth-Mode mit "M-package-install forth-mode" installieren.
  
 Forth-Mode erkennt Forth-Programme an der Dateiendung. Viele gängige Forth-Dateiendungen werden unterstützt. Forth-Mode erkennt Forth-Programme an der Dateiendung. Viele gängige Forth-Dateiendungen werden unterstützt.
Zeile 90: Zeile 105:
  
 <code> <code>
-code+ 
 +;; mecrisp emacs term 
 +(defun replace-all (string to-find to-replace) 
 +  (let ((index  (cl-search to-find string)) 
 +        (pos    0) 
 +        (result "")) 
 +    (while index 
 +      (setq result (concat result 
 +                           (substring string pos index) 
 +                           to-replace) 
 +            pos    (+ index (length to-find)) 
 +            index  (cl-search to-find string :start2 pos))) 
 +    (concat result (substring string pos)))) 
 + 
 +(defun mecrisp-serial-process-filter (process output) 
 +  "Replace LF in output string with CR+LF." 
 +  (term-emulate-terminal process 
 +                         (replace-all output 
 +                                      (byte-to-string ?\n) 
 +                                      (string ?\r ?\n)))) 
 + 
 +(defun mecrisp-serial-term (port) 
 +  "Basically duplicate SERIAL-TERM from term.el but with process 
 +  filtering to translate LF to CR+LF." 
 +  (interactive (list (serial-read-name))) 
 +  (serial-supported-or-barf) 
 +  (let* ((process (make-serial-process 
 +                   :port port 
 +                   :speed 115200 
 +                   :bytesize 8 
 +                   :parity nil 
 +                   :stopbits 1 
 +                   :flowcontrol nil 
 +                   :coding 'raw-text-unix 
 +                   :noquery t 
 +                   :name (format "mecrisp:%s" port) 
 +                   :filter 'mecrisp-serial-process-filter 
 +                   :sentinel 'term-sentinel)) 
 +         (buffer (process-buffer process))) 
 +    (with-current-buffer buffer 
 +      (term-mode) 
 +      (term-line-mode) 
 +      (goto-char (point-max)) 
 +      (set-marker (process-mark process) (point))) 
 +    (switch-to-buffer buffer) 
 +    buffer))
  
 </code> </code>
  
projects/emacsandforth/emacs_und_forth.1503842888.txt.gz · Zuletzt geändert: 2017-08-27 16:08 von cas