我不知道我的设置是否有问题,但是当我按下Mf(转发一个单词)时,无论我在哪里,它都不会将光标放在下一个单词中(仅在单词之间).将光标放在前一个单词的开头的Mb不会发生这种情况.
这是正常行为吗?如何将光标放在下一个单词的开头?
小智 10
描述的宏解决方案是一个伟大的方式获得在会话这种行为,但它是一个有点不方便,如果这就是你想要的默认行为,因为你必须在每次启动emacs的时间定义它.如果你希望Mf一直这样工作,你可以定义一个elisp函数并将其绑定到密钥.把它放在.emacs文件中:
(defun next-word (p)
"Move point to the beginning of the next word, past any spaces"
(interactive "d")
(forward-word)
(forward-word)
(backward-word))
(global-set-key "\M-f" 'next-word)
Run Code Online (Sandbox Code Playgroud)
好吧,就这样我们很清楚,我会假设你在谈论命令forward-word和back-word这些命令默认绑定到Alt+ f和Alt+b
例如字符串:"Hello dolly我在这里"
如果您的光标位于"Hello"的"H"上,并且您执行了前向字,则光标将移动到"Hello"和"dolly"之间的空格,但听起来您希望光标位于字母" d"of"dolly"而不是在它前面.
所以,做两次前向词,然后做一次后向词.
那会把你的光标放在"小车"的"d"上.
这可以通过宏自动完成.
;; =评论,不要输入它们
Ctrl+ x (;;启动宏
Alt+ f Alt+ f Alt+b
Ctrl+ x );;结束宏
然后运行最后定义的宏执行此操作:
Ctrl+x e
编辑:正如评论中提到的pascal,这也可以完成
Alt+ f Ctrl+f
您也可以将其放入宏中,无论哪种方式结果相同.
| 归档时间: |
|
| 查看次数: |
5342 次 |
| 最近记录: |