Verwendung von Abkürzungen


7

Ich finde die Verwendung von Abkürzungen in Emacs verwirrend. Obwohl ich das Handbuch und das EmacsWiki gelesen habe , habe ich weiterhin Probleme, sie zu verwenden.

Ziel :

Definieren Sie eine schnelle Abkürzung für eine einzelne Emacs-Sitzung.

Beispiel:

Bei Verwendung von Python und Numpy werden die Ausgaben manchmal mit Auslassungspunkten gekürzt:

array(['1007.65', '1007.63', '1007.66', ..., '993.40', '993.40', '993.57'],
      dtype=object)

Um das Array vollständig anzuzeigen, müssen Sie diesen Mund voll einer Anweisung ausgeben:

with np.printoptions(threshold=np.inf): print(my_arr['field_name'])

Dies scheint eine perfekte Situation für eine Abkürzung zu sein!

Folgendes mache ich:

  1. Typ fpfür "Volldruck"
  2. Mit Punkt unmittelbar nach pin fp, Ausgabe C-x a g( add-global-abbrev)
  3. In der Minibuffer-Eingabeaufforderung für Global abbrev for "fp":setzen with np.printoptions(threshold=np.inf): print()und drücken<RET>
  4. Der Minibuffer wird beendet und bringt mich mit Punkt nach pin zu meinem ursprünglichen Puffer zurückfp
  5. Ausgabe C-x a e( expand-abbrev)

Nichts passiert.

Wenn ich nachschaue list-abbrevs, ist es da:

(global-abbrev-table)

"with np.printoptions(threshold=np.inf): print()" 0 "fp"

Meines Wissens nach muss ich nicht abbrev-modeaktiviert sein, da dies nur für die automatische Erweiterung verwendet wird. Das Aktivieren wird übrigens abbrev-modeimmer noch nicht erweitert fp.

Ich bin ratlos für das, was ich falsch mache und würde mich über Ratschläge freuen!


2
Da Sie das Emacs-Dokument darüber gelesen, das Verhalten jedoch rückwärts interpretiert haben, sollten Sie Emacs über das Problem informieren und möglicherweise einen anderen Wortlaut vorschlagen : M-x report-emacs-bug. Es ist wahrscheinlich, dass Sie nicht die einzige Person sind, die dies rückgängig gemacht hat. Vielleicht sollte das Dokument ein Beispiel enthalten?
Drew

Antworten:


7

Sie haben Ihre Abkürzung rückwärts definiert - "mit np.printoptions (Schwelle = np.inf): print ()" wird mit dem, was Sie getan haben, auf "fp" erweitert!

Um eine Abkürzung mit mehreren Wörtern zu definieren, sollten Sie Folgendes tun:

  1. M-x define-global-abbrev
  2. fp
  3. with np.printoptions(threshold=np.inf): print()

2

Wie wäre es mit

  1. Setzen Sie den Punkt unmittelbar nach p in fp.
  2. Problem C-x a i g(inverse-add-global-abbrev).
  3. Geben Sie ein with np.printoptions(threshold=np.inf): print()und drücken Sie RET.
  4. C-x a e

Übrigens habe ich den Abkürzungsmodus die ganze Zeit eingeschaltet und es hilft fast immer und fast steht mir nie im Weg.

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.