我不能写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. 包括没有换行符
- 2. 是否可以从另一个包中的函数执行@inheritParams?
- 3. 检查一个字符串是否以换行符后的整数开头
- 4. 是否可以在emacs中折叠一个函数?
- 5. 当函数返回一个data.table时是否进行复制?
- 6. 是否可以返回行以及来自一个PDO函数的行数?
- 7. HTML'class'元素属性是否可以包含换行符?
- 8. 包括只有一个属性,而不是整个数据库行
- 9. 是否有可能包括一个资源包
- 10. 是否可以强制一个表显示“x”行数量?
- 11. 是否有可能有一个函数在另一个函数
- 12. 是否有一个函数可以否定C中的二进制数?
- 13. 单个字符串是否可以包含多行?
- 14. 的gradle - 包括JAR不进行过滤二进制换行符
- 15. 函数中是否可以有函数?
- 16. stl中有没有函数可以进行字符串转换,但是有一个长度参数?
- 17. 是否可以编写一个函数模板来返回参数个数是否可以被N整除?
- 18. 的Emacs把一个新行右括号
- 19. 是否可以通过URL执行一个完整的剧本?
- 20. 是否可以对一行代码进行git-checkout而不是整个文件?
- 21. 主键本身是否可以包含重复项但具有唯一的行?
- 22. 一个线程是否可以被重用来运行可变参数函数?
- 23. SQL值是否包含换行符?
- 24. 是否有一个API(如dup)复制fstream,因此它可以
- 25. 是否有可能在运行时交换C函数实现?
- 26. 是否可以在一个方法内部运行一个函数?
- 27. 从一个字符串中提取整数 - 包括负整数
- 28. 检查字符串是否为整数(包括负数)PHP
- 29. 是否有可能在另一个函数中运行'2-deep'的函数?
- 30. Emacs换行模式下的换行符
你的意思是一个elisp的函数,返回当前行,或意在交互调用的函数哪一行放在当前的YANK缓冲区上(如Mw)? – Lindydancer 2011-04-20 09:08:26
如果你四处寻找'nuke-line',你可能会在互联网上找到一个defun的地方。我的工作是.emacs,而不是在家。但它削减了包括换行符在内的当前行,而不是复制它。该行仍然可以通过'C-y'访问。 – vpit3833 2011-04-20 10:59:28