您是否对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. 通用AVS智能家居技巧
- 2. 谷歌首页智能家居集成
- 3. Google智能家居应用测试失败的操作
- 4. 亚马逊Alexa的定制技能和智能家居技能。控制设备
- 5. 某些活动中列出的“操作”是做什么的? (智能家居API)
- 6. 亚马逊Alexa更改恒温器模式的智能家居技能指令
- 7. 亚马逊回声显示没有响应新的智能家居技能
- 8. 在three.js模型导入后的智能居中和缩放
- 9. 如何在Emacs中居中文本?
- 10. 在Emacs缓冲区中居中文本
- 11. 我怎样才能访问罗技的智能家庭组API?
- 12. 如何在Emacs中智能地重新缩进Clojure?
- 13. emacs有可能让Python etags变得更智能一些吗?
- 14. 实现Alexa.Speaker接口无法响应音量变化请求的智能家居设备
- 15. 安装phpmyadmin家居酿造
- 16. C++中的图表表示(顶点邻居)的智能指针11
- 17. 是否有智能PHP Emacs标签解决方案?
- 18. 什么是VS2005 emacs仿真模式中的智能感知触发器?
- 19. 不能居中这
- 20. 居家般的用户界面?
- 21. Eclipse的Emacs风格“艺术家模式”?
- 22. 回归与国家明智的删除
- 23. C++中的智能指针
- 24. jQuery中的智能键盘
- 25. 如何使用缩放功能适合居中放置div的css家庭树
- 26. 当玩家在周围时产生人工智能(Unity3d/C#)
- 27. 如何在emacs中添加智能分配和散列对齐缩进区域?
- 28. 如何找到列表中的国家的邻居?
- 29. PageMethod的和智能
- 30. VS2010中的App_Code中的智能感知
遗憾的是它不与CUA工作启用,在这种情况下,选择换档不起作用,换回家选择完整的行不起作用。有什么建议么? – 2010-05-27 08:40:28
@亚历山大·斯托尔兹,我从来不使用cua模式,但尝试在'defun'之后添加'(把'聪明开始'的'CUA'动作)'(即在'global-set-key`之前添加'线)。 – cjm 2010-05-27 09:18:14