各位 emacs 道友大家好。 最近发现我的 emacs 光标只能在一屏移动。这就很不爽了,因为我写的代码如何太多,我要看到成对的括号或者标签。所以我想让光标随着不断的滚动或者翻屏后,光标还在原来的那个位置不动。请问如何实现呢?
书签功能凑合用吧
Emacs里做不到
如楼上所说 Emacs 不支持。GUI 下应该有使用场景,终端里的 Emacs 由于一般只能用键盘估计用不上。
我想了一个模拟这种操作的方法(需要开启 Lexical-binding):
(defun pin ()
"开始使用鼠标滚轮滚屏、鼠标点击设置光标、键盘重置光标."
(interactive)
(let ((op (point))
(oc cursor-type))
(setq cursor-type nil)
(set-transient-map
nil
(lambda ()
(string-match-p "wheel" (symbol-name this-command)))
(lambda ()
(setq cursor-type oc)
(unless (string-match-p "mouse" (symbol-name this-command))
(goto-char op))))))
应该可以设置为一滚屏就进入这个模式,但是估计比较麻烦,不想折腾了。
不是特别清楚为什么要这样做。
如果想保持光标位置不动,是不是想在光标处编辑呢? 翻滚屏幕是为了查找当前 buffer 里面的文档, 然后做拷贝的动作?
我经常做这样的操作:
- 在光标当前位置编辑
- 上下浏览当前 buffer 或者 swiper 关键词
- 拷贝到 kill-ring
- M-x goto-last-change
- 继续编辑
回复错了。。。不知道怎么改回复目标。 有个包可以显示对应括号所在行的内容,可以试试。
哪个包啊,可以帮我找找吗?我现在急需解决这个问题。