您是否對Emacs中的家庭鑰匙具有智能行爲?通過智能我的意思是,而不是去到字符數字0,它應該去第一個非空白字符,並在第二次按下去0,並回到第三個非空白的第三個,依此類推。 聰明結束也會很好。Emacs中的智能家居
36
A
回答
58
(defun smart-beginning-of-line()
"Move point to first non-whitespace character or beginning-of-line.
Move point to the first non-whitespace character on this line.
If point was already at that position, move point to beginning of line."
(interactive "^") ; Use (interactive) in Emacs 22 or older
(let ((oldpos (point)))
(back-to-indentation)
(and (= oldpos (point))
(beginning-of-line))))
(global-set-key [home] 'smart-beginning-of-line)
我不太確定什麼聰明的結局會做。你通常有很多尾隨空白嗎?
注意:這個函數和RobertVuković's的主要區別在於,即使光標已經在那裏,他總是會移動到第一個按鍵上的第一個非空白字符。在這種情況下,礦井將移動到第0列。
另外,他用(beginning-of-line-text)
我用(back-to-indentation)
。這些非常相似,但它們之間有一些差異。 (back-to-indentation)
總是移動到一行上的第一個非空白字符。 (beginning-of-line-text)
有時會移過它認爲不重要的非空白字符。例如,在只有評論的行中,它會移至評論文本的第一個字符,而不是評論標記。但是任何一個函數都可以用在我們的答案中,這取決於你喜歡哪種行爲。
12
這適用於GNU Emacs,我沒有用XEmacs試過。
(defun My-smart-home() "Odd home to beginning of line, even home to beginning of text/code."
(interactive)
(if (and (eq last-command 'My-smart-home)
(/= (line-beginning-position) (point)))
(beginning-of-line)
(beginning-of-line-text))
)
(global-set-key [home] 'My-smart-home)
4
注意,已經有一個背到縮進功能,你想要做什麼第一智能家居功能做的,也就是去上線的第一個非空白字符。它默認綁定到M-m。
6
感謝這個方便的功能。我現在一直都在使用它並喜歡它。我所做的只是其中很小的變化: (互動) 變爲: (交互式「^」)
從Emacs幫助: 如果字符串以^' and
按住Shift鍵選擇模式」開始爲非nil,那麼Emacs首先調用函數`handle-shift-select'。
基本上,如果您使用shift-select-mode,則可以從當前位置移動到行首。它在微型緩衝器中特別有用。
0
我適應@Vucovic代碼跳轉到beggining-of-line
第一:
(defun my-smart-beginning-of-line()
"Move point to beginning-of-line. If repeat command it cycle
position between `back-to-indentation' and `beginning-of-line'."
(interactive "^")
(if (and (eq last-command 'my-smart-beginning-of-line)
(= (line-beginning-position) (point)))
(back-to-indentation)
(beginning-of-line)))
(global-set-key [home] 'my-smart-beginning-of-line)
2
現在有一個包,做到了這一點,mwim
(移動在哪裏我的意思)
相關問題
- 1. 智能家居溫控器
- 2. 谷歌首頁智能家居集成
- 3. 谷歌 - 智能家居行動 - REQUEST_SYNC
- 4. 通用AVS智能家居技巧
- 5. Google智能家居應用測試失敗的操作
- 6. 智能家居行動不歡迎意向,是否正常
- 7. 亞馬遜Alexa的定製技能和智能家居技能。控制設備
- 8. 某些活動中列出的「操作」是做什麼的? (智能家居API)
- 9. 亞馬遜Alexa更改恆溫器模式的智能家居技能指令
- 10. 亞馬遜回聲顯示沒有響應新的智能家居技能
- 11. emacs智能選項卡與yasnippets
- 12. 我怎樣才能得到一個國家的鄰居國家?
- 13. 人工智能和專家系統
- 14. 在three.js模型導入後的智能居中和縮放
- 15. Emacs的字體家族
- 16. 如何在Emacs中居中文本?
- 17. 在Emacs緩衝區中居中文本
- 18. 如何管理wordpress中的國家智能類別?
- 19. 我怎樣才能訪問羅技的智能家庭組API?
- 20. 如何在Emacs中智能地重新縮進Clojure?
- 21. emacs有可能讓Python etags變得更智能一些嗎?
- 22. 實現Alexa.Speaker接口無法響應音量變化請求的智能家居設備
- 23. 安裝phpmyadmin家居釀造
- 24. C++中的圖表表示(頂點鄰居)的智能指針11
- 25. 是否有智能PHP Emacs標籤解決方案?
- 26. 什麼是VS2005 emacs仿真模式中的智能感知觸發器?
- 27. Xcode的Emacs風格「藝術家模式」?
- 28. Eclipse的Emacs風格「藝術家模式」?
- 29. 不能居中行
- 30. nswindow不能居中
遺憾的是它不與CUA工作啓用,在這種情況下,選擇換檔不起作用,換回家選擇完整的行不起作用。有什麼建議麼? – 2010-05-27 08:40:28
@亞歷山大·斯托爾茲,我從來不使用cua模式,但嘗試在'defun'之後添加'(把'聰明開始'的'CUA'動作)'(即在'global-set-key`之前添加'線)。 – cjm 2010-05-27 09:18:14