Posts mit dem Label Emacs werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Emacs werden angezeigt. Alle Posts anzeigen

Dienstag, 20. März 2012

Emacs, complete or not complete (part 2)

Im emacs-lisp mode funktioniert auto-complete sehr gut ohne weitere Tools zu aktivieren. Im c- oder c++-mode kennt auto-complete aber nur ein paar Keywords und den Buffer Inhalt. Aber das lässt sich ändern. Im Emacs einfach den semantic-mode aktivieren.




Nachdem die Header Files geparst wurden (geht recht fix), funktioniert auto-complete zumindest im c++-mode "out of the box".



Im c-mode könnte man damit nachhelfen, ist aber etwas träge in der Bedienung:

  (add-hook 'c-mode-hook
    (lambda ()
      (add-to-list 'ac-sources 'ac-source-semantic-raw)))


Im Moment suche ich noch nach einer Lösung warum auto-complete mit ac-source-semantic (ohne raw) nicht zurechtkommt.

Hier eine Möglichkeit ac-complete-semantic-raw über Hotkeys aufzurufen:

  (add-hook 'c-mode-hook
    (lambda ()
      (local-set-key (kbd "ESC <f1>") 'ac-complete-semantic-raw)))



Zu Erwähnen sei noch, der semantic-mode beherrscht auch Tag Completion, ist aber nicht so praktisch wie im auto-complete Modus.


Auto Complete Mode

Auto Complete Mode User Manual

Semantic Manual (liest man natülich im Emacs) ;-)
(info "(semantic)Top")

Sonntag, 18. März 2012

Emacs, complete or not complete

Bei der vielen Tipperrei braucht man irgendwie Unterstützung durch den Editor. Emacs bietet von Haus aus ja einiges an. Die Tage bin ich aber auf `auto-complete.el' gestoßen. In meinen Augen eine hervorragende Erweiterung.

Completion Popup



Suchen im Completion Popup


Auto Complete Mode

Auto Complete Mode User Manual


Lesenswert:

Dienstag, 6. März 2012

X Selection und Emacs


Ich frage mich schon länger, wie kriege ich den irgendwo mit der Maus selektierten Text bequem in den Emacs Buffer ohne wieder die Maus zu bemühen. Emacs kennt zwar seit Version 23 die Variable `x-select-enable-primary', aber damit überschreibe ich das aktuelle Clipboard.

Mehr zum Thema Karl Theodor und Emacs:
http://www.emacswiki.org/emacs/CopyAndPaste

Hier nun aber meine Lösung. Kurz und schmerzlos:

(defun my-x-selection-insert ()
  "Paste the X selection into the current buffer.  `sselp' comes
with suckless-tools. Alternatively xsel can be used, then replace
`sselp' with `xsel -o'"
  (interactive)
  (insert (shell-command-to-string "sselp")))


;; Example Keybord Shortcut
(global-set-key (kbd "C-x y") 'my-x-selection-insert)