我不能寫emacs功能,有人可以幫我嗎?是否有一個Emacs函數可以複製整行,包括換行符?
1
A
回答
4
是的,有。 This code is borrowed from this blog entry:
(defadvice kill-ring-save (before slick-copy activate compile)
"When called interactively with no active region, copy a single line instead."
(interactive
(if mark-active (list (region-beginning) (region-end))
(message "Copied line")
(list (line-beginning-position)
(line-beginning-position 2)))))
(defadvice kill-region (before slick-cut activate compile)
"When called interactively with no active region, kill a single line instead."
(interactive
(if mark-active (list (region-beginning) (region-end))
(list (line-beginning-position)
(line-beginning-position 2)))))
2
有幾種方法可以複製一個行:
的常用方法:鈣C-SPC道道分子量
使用鼠標:在三擊線,型號Mw
Set(or cust 鈣CK C-_
我不覺得這是一個共同的足夠的操作,我願意爲它分配一個按鍵組合:omize)變量kill-whole-line
到t
,然後通過殺戮和毀滅複製,但如果你這樣做,然後可以很容易地編寫一個函數:
(defun kill-ring-save-line()
"Save the line containing point to the kill ring."
(interactive)
(kill-ring-save (line-beginning-position)
(line-beginning-position 2)))
+0
我通常使用比C-C-SPC C-n M-w短一個按鍵的C-k C-k C-y,並且使用較少的手指雜技。 – Wilduck 2011-04-26 03:10:22
+0
只有當點已經在線的開始時才起作用。 – 2011-04-26 10:45:02
0
鈣CK CK賽揚
或
鈣銅1 CK賽揚
通過
章ķCK
和
章˚F殺-TAB發現
(defun copy-line()
(interactive)
(beginning-of-line)
(kill-line 1)
(yank))
0
;; http://www.emacswiki.org/emacs/WholeLineOrRegion#toc2
;; cut, copy, yank
(defadvice kill-ring-save (around slick-copy activate)
"When called interactively with no active region, copy a single line instead."
(if (or (use-region-p) (not (called-interactively-p)))
ad-do-it
(kill-new (buffer-substring (line-beginning-position)
(line-beginning-position 2))
nil '(yank-line))
(message "Copied line")))
(defadvice kill-region (around slick-copy activate)
"When called interactively with no active region, kill a single line instead."
(if (or (use-region-p) (not (called-interactively-p)))
ad-do-it
(kill-new (filter-buffer-substring (line-beginning-position)
(line-beginning-position 2) t)
nil '(yank-line))))
(defun yank-line (string)
"Insert STRING above the current line."
(beginning-of-line)
(unless (= (elt string (1- (length string))) ?\n)
(save-excursion (insert "\n")))
(insert string))
(global-set-key (kbd "<f2>") 'kill-region) ; cut.
(global-set-key (kbd "<f3>") 'kill-ring-save) ; copy.
(global-set-key (kbd "<f4>") 'yank) ; paste.
相關問題
- 1. 是否可以從另一個包中的函數執行@inheritParams?
- 2. HTML'class'元素屬性是否可以包含換行符?
- 3. 包括只有一個屬性,而不是整個數據庫行
- 4. 是否有可能包括一個資源包
- 5. 是否有可能有一個函數在另一個函數
- 6. 是否有一個函數可以否定C中的二進制數?
- 7. 是否可以編寫一個函數模板來返回參數個數是否可以被N整除?
- 8. 的Emacs把一個新行右括號
- 9. 一個線程是否可以被重用來運行可變參數函數?
- 10. 從一個字符串中提取整數 - 包括負整數
- 11. 是否可以在一個方法內部運行一個函數?
- 12. 是否有可能在運行時交換C函數實現?
- 13. 是否有可能在另一個函數中運行'2-deep'的函數?
- 14. Emacs換行模式下的換行符
- 15. 是否有可能以小數形式回顯num個行(整數)?
- 16. 不需要換行符包括
- 17. 是否可以遠程執行SSIS包?
- 18. 迭代字符串中的行,包括換行符字符
- 19. mapreduce中是否有可以並行執行的非交換reducer?
- 20. 是否可以在jqxhr.done函數中運行Ajax函數?
- 21. 是否可以鎖定一個重載的括號操作符?
- 22. 是否可以從另一個可執行文件中調用函數?
- 23. 是否可以對一個const變量進行類型轉換?
- 24. 是否有一種工具可以一次運行CSS 1行?
- 25. 織物SUDO運行時是否可以執行函數
- 26. Javascript - 檢查字符串是否可以轉換爲整數?
- 27. 是否可以在gnuplot中每十行繪製一行?
- 28. 是否可以包裝整數並將其稱爲整數?
- 29. 在MySQL中可以選擇的行數是否有限制?
- 30. CSS - 是否可以強制<th>佔用整行?
你的意思是一個elisp的函數,返回當前行,或意在交互調用的函數哪一行放在當前的YANK緩衝區上(如Mw)? – Lindydancer 2011-04-20 09:08:26
如果你四處尋找'nuke-line',你可能會在互聯網上找到一個defun的地方。我的工作是.emacs,而不是在家。但它削減了包括換行符在內的當前行,而不是複製它。該行仍然可以通過'C-y'訪問。 – vpit3833 2011-04-20 10:59:28