12
A
回答
15
您可以使用將鍵盤翻譯爲elisp C-h k 密鑰。
您會注意到用於設置標記set-mark-command
的elisp函數,它帶有一個非可選參數。 Emacs使用特殊的interactive
函數來允許elisp函數自然地用參數寫入。這允許它們是通用的並且易於在其他elisp程序中重用,同時仍然可以從擊鍵直接調用。它還具有一些內置的前綴邏輯的C-u。
在set-mark-command
的情況下,其第一個功能是(interactive "P")
,這意味着從鍵盤調用前綴作爲參數傳入。您可以直接在elisp的與模擬這個:
(set-mark-command nil)
例如,要選擇在elisp的當前行:
(defun my-select-current-line()
(interactive)
(move-beginning-of-line nil)
(set-mark-command nil)
(move-end-of-line nil)
(setq deactivate-mark nil))
注意你必須告訴Emacs的離開標誌活躍在年底要不然該地區將不會突出顯示(儘管點和標記將是您離開他們的地方)。
1
4
您應該使用在Emacs推標誌Lisp代碼,如下所示:
(defun mark-n (n)
"Programmtically mark the next N lines"
(interactive "nNum lines to mark: ")
(push-mark)
(next-line n))
3
萬一這個附加信息是利用別人,我發現以下幾點:
- 至於編程式運動,請參見Moving Point
(point)
和(mark)
檢索它們各自的位置,因此可以做(set-mark (+ 5 (mark)))
,例如。
相關問題
- 1. 以編程方式設置AWS區域
- 2. UITableView以編程方式選擇選項
- 3. 如何在Emacs Lisp中以編程方式獲取區域(選擇)?
- 4. 以編程方式選擇UITableViewcCell?
- 5. PrimeNG樹 - 以編程方式選擇TreeNode
- 6. 如何以編程方式選擇AutoCompleteTextView?
- 7. 以編程方式關閉選擇onorientationchange
- 8. 以編程方式clistctrl選擇
- 9. 如何以編程方式選擇DbConfigurationType?
- 10. 如何以編程方式選擇MenuItem
- 11. 以編程方式選擇一行DataGridView
- 12. 以編程方式選擇UIView
- 13. GWT CellTable以編程方式選擇CheckBoxCell
- 14. .net DataGridView以編程方式只選擇
- 15. SmartGwt SelectItem Multipple以編程方式選擇
- 16. 以編程方式選擇selectManyCheckbox組件
- 17. 選擇項目以編程方式UICollectionView
- 18. 以編程方式更改CPPickerview選擇?
- 19. 以編程方式選擇TabBarController視圖?
- 20. Swing:以編程方式選擇文本
- 21. FBFriendPickerViewController以編程方式選擇朋友
- 22. 無法以編程方式選擇UITableViewCell
- 23. 如何以編程方式選擇MKUserLocation?
- 24. NSMenu以編程方式選擇項目
- 25. 以編程方式在文本區域中選擇文本並同時在textarea中選擇相同的文本
- 26. 安卓:以所選區域編程
- 27. 以編程方式更改應用中的區域格式
- 28. AlpacaJS:選擇後以編程方式更改TextField的值選擇
- 29. 防止用戶選擇,但允許以編程方式選擇
- 30. Twitter Typeahead以編程方式選擇並觸發選擇
如果我將這個點設置在一行的末尾,然後運行'(set-mark-command 0)',那麼點會移動但不是標記,因此沒有任何選擇。我錯過了什麼?謝謝。 – vemv 2012-07-27 15:08:47
在該區域的起點處設置標記,然後將該點移動到最後。另外,arg實際上應該是「零」而不是零。我用一個例子更新了我的答案。 – ataylor 2012-07-27 15:38:33
功能有效(謝謝!)我沒有獲得視覺反饋,即'deactivate-mark'似乎沒有什麼區別。無論如何,這對我的特殊目的不重要。 – vemv 2012-07-27 17:36:57