簡體   English   中英

更改Emacs-AUCTeX中單詞的格式而不實際選擇它

[英]Change the format of a word in Emacs-AUCTeX without actually selecting it

現代文字處理器的一個很好的特點是,可以改變單詞的格式(例如,從羅馬到斜體)而不實際選擇它; 只需要將文本光標放在單詞中並告訴文字處理器(通過鍵盤快捷鍵)更改其格式。 (智能編輯,我相信它有時被稱為。)

有沒有辦法在Emacs-AUCTeX中這樣做? (更改格式的常用方法 - 即插入格式命令---是選擇單詞[標記其區域],然后按下命令的組合鍵[例如Cc Cf Ci to insert \\textit{} ]。)

如果現場沒有解決方案,Emacs基本上提供了兩種方法,一旦知道了一系列命令/鍵:

要么將它們存儲到鍵盤宏中,只需要用一個鍵調用它 - 或者將所有命令放入一個函數中,使其成為一個命令,分配一個鍵。

快捷方式Cc Cf調用TeX-font 然后它根據最后的鍵和弦強調/斜體/任意。 所以解決方案是建議這個功能:

(defvar TeX-font-current-word t)

(defadvice TeX-font (before TeX-font-word (replace what))
  "If nothing is selected and `TeX-font-current-word' is not nil,
mark current word before calling `TeX-font'."
  (when (and TeX-font-current-word 
             (not replace)
             (not (region-active-p))
             (not (looking-at "\\s-")))
    (unless (looking-back "\\s-") (backward-word))
    (mark-word)))

(ad-activate 'TeX-font)

現在,當沒有選擇區域時, TeX-font將像選擇當前單詞一樣工作。 您可以通過將TeX-font-current-wordt / nil來打開/關閉此行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM