2

挿入キーからスペースを取り除くのに苦労しています。

これが私の .emacs ファイルの関数です

(defun abbrev-backward-char ()
    (backward-char 1) t) ; return non-nil to inhibit insertion of the character
                         ; that triggered the expansion
(put 'abbrev-backward-char 'no-self-insert t)

これが私のabbrevs_defsテーブルです

(define-abbrev-table 'global-abbrev-table
   '(   
       ("slv" "std_logic_vector" abbrev-backward-char 0)))

私が抱えている問題は、「slv」と入力すると、最初に単語が展開され、次にバックスペースが挿入され、挿入文字が追加されることです。したがって、「std_logic_vecto r」が残っています。

代わりに、展開し、挿入文字を追加し、最後にバックスペースを追加します。したがって、「std_logic_vector」が残っています。

ここで奇跡を求めていないことを願っています。

私はこれに何時間も取り組んできましたが、挿入文字を取り除くのが簡単ではないほどばかげているようです。

4

2 に答える 2

0

略語展開を行うためにスペースを過負荷にしないため、インターフェースがよりクリーンになります。代わりに、 hippie-expand でオーバーロードdabbrev-expand M-/してください

于 2013-02-12T07:41:50.023 に答える
0

私は同じ問題を抱えていました。私が見つけた回避策は、略語で呼び出された関数の最後に (signal 'quit nil) を使用することでした。

于 2016-11-02T02:10:42.790 に答える