Vim vervollständigt Wörter und Zeilen mit CTRL-X P
und CTRL-L.
Es gibt ein Emacs Plugin namens Company Mode, aber dieses Plugin interferiert und verursacht Konflikte mit vielen Dingen in Emacs (mit globalen linum und yasnippets). Ich weiß, dass ich mit CTRL-/in Emacs Wörter vervollständigen kann. Aber es ist möglich, vorher geschriebene Zeilen zum vollständigen Code zu nehmen?Hat Emacs Wort- und Zeilenvervollständigung (wie Vim's Insert-Modus-Vervollständigung)?
Antwort
Vielleicht suchen Sie nach hippie-expand? Von dieser Webseite (als dies geschrieben wurde, jedenfalls):
HippieExpand am Wort vor Punkt sieht und versucht, es in verschiedene Weise zu erweitern, einschließlich von eine feste Liste erweitert (wie
expand-abbrev
), erweitert von übereinstimmendem Text gefunden in ein Puffer (wiedabbrev-expand
) oder Erweiterung auf Weisen, die durch Ihre eigenen Funktionen definiert sind. Welche davon es versucht und in welcher Reihenfolge wird durch eine konfigurierbare Liste von Funktionen gesteuert.
Für eine umfassende Liste von Vervollständigungsoptionen finden Sie auf der emacs wiki page on completion.
Um ein ähnliches Verhalten wie vims 'Ctrl-X Strg-L' zu erhalten, müssen Sie' try-expand-line-all-buffers' zu 'hippie-expand-try-functions-list' hinzufügen. Dies wird durch Linien von allen Puffern anstelle nur des aktuellen Puffers erweitert. – ymln
Es gibt eine Vielzahl von Möglichkeiten, die Fertigstellung in Emacs zu tun. Einige sind modusspezifisch, manche inline, manche konfigurierbar und was nicht. Here ist eine Liste von Modi, die Ihnen helfen könnten.
Erwähnenswert: Wenn Ihr Fenstermanager nicht Alt-Tab stiehlt, wird Emacs automatisch mit Alt-Tab abgeschlossen (Ich habe meinen Fenstermanager eingerichtet, um den "Windows-Schlüssel" anstelle von alt zu verwenden) .
Verwenden Sie numeric Argument, um mit der Zeile abzuschließen, sagen M-5 M-/
wird durch die Zeile abgeschlossen, während M-/
allein immer noch den normalen Weg abgeschlossen.
hippe-expend
Funktion eine sehr nützliche Funktion hat, die ist:
With a positive numeric argument, jumps directly to the ARG next function in this list. With a negative argument or just C-u, undoes the expansion.
die Erweiterungsfunktionen in hippie-expand-try-functions-list
anpassen und die Funktion try-expand-line
als 5. Listenelement setzen, dann könnte man verwenden M-5 M-/zu Zeile für Zeile
Dieser Tipp ist sehr praktisch und nützlich und ich kann es nur wärmstens empfehlen.
FYI 'try-expand-line' ist das standardmäßige fünfte Element von' hippie-expand-try-functions-list'. – ocodo
Wenn Sie evil
verwenden, dies ist die vim-ähnliche Lösung, die ich verwenden:
(defun my-expand-lines()
(interactive)
(let ((hippie-expand-try-functions-list
'(try-expand-line-all-buffers)))
(call-interactively 'hippie-expand)))
(define-key evil-insert-state-map (kbd "C-x C-l") 'my-expand-lines)
Auf diese Weise können unsere alten Freund C-x C-l
im Einfügemodus für ganze Linie alle Puffer Abschluss verwenden können.
Dank @ymln für den Vorschlag der Verwendung try-expand-line-all-buffers
.
- 1. Emacs entspricht VIMs `%`?
- 2. Gibt es etwas ähnliches für Emacs wie VIMS der NERDtree
- 3. Vims Fehlerformat wird ignoriert
- 4. Deaktivieren Vims - INSERT - Nachricht
- 5. Hat Emacs etwas wie vi's "Set-Nummer"?
- 6. Wie in Vims Konfigurationsdateien kommentieren: ".vimrc"?
- 7. Bitte erläutern Sie Vims Konfigurationsverzeichnishierarchie
- 8. Unable T in Vims Taglist
- 9. Python re: wenn string ein Wort UND eine Wortliste hat?
- 10. Fehlerbehebung für Emacs und Emacs Lisp
- 11. Wie in hook "Puffer hat viel geschrumpft" in Emacs
- 12. share emacs configuration zwischen emacs 23 und emacs 24
- 13. lgrep und rgrep in Emacs
- 14. Emacs und symbolische Links
- 15. Zeichenfolge abschneiden und Wort nach dem nten Wort hinzufügen
- 16. Emacs Pabbrev und Python
- 17. Wie man [Wort] mit Wort ersetzt, das Regex.Replace verwendet und das ganze Wort nur ersetzen sollte
- 18. emacs äquivalent zu vim shift-h und shift-l
- 19. Emacs dired und bazaar
- 20. Wie können Sie die Übereinstimmungen von Vims Suche auflisten?
- 21. Emacs, Cedet und semantische
- 22. emacs dired und openwith
- 23. Emacs - keine Menüleiste und Symbolleiste
- 24. Apache-Poi Wort und Intellij
- 25. emacs und gdb-many-windows
- 26. Regex find Wort wie "-"
- 27. Emacs 23 und iPython
- 28. Wie SLIME und Emacs elegant beenden?
- 29. Wie man Emacs Pakete und Einstellungen synchronisiert?
- 30. Wie mache ich Vorwärts-Wort, Rückwärts-Wort, behandle Unterstrich als Teil eines Wortes?
Ich denke, das ist mehr von Superuser Frage – notnoop
@notnoop <- Ist das ein Bot? weil ich denke, dass meine Frage über Programmierung ist – alexchenco
die Frage betrifft Abkürzungen für den Emacs Allzweck-Editor. Das ist eine Superuser-Frage. Ich verstehe, dass Sie eine solche Funktionalität beim Codieren zwar gerne haben. Wenn die Frage darin besteht, eine Emacs-Erweiterung zu schreiben oder Code-Vervollständigung (mit Yasnippets) zu bearbeiten, dann denke ich, dass es sich um Programmierung handelt. – notnoop