emacs里如果实现vim里f/F(向前/向后查找字符)的功能
C-s C-r
搜索完了得按enter才能编辑,能跳过去后就可以直接编辑么
1 个赞
;;;;绑定到自己喜欢的按键上
;;; 向前搜索
(defun my-look-forward-char (arg char)
(interactive "*p\ncZap: ")
(let ((p (point)))
(and (search-forward
(char-to-string char) (point-at-eol) t arg)
(progn
(backward-char)
(if (= p (point))
(my-look-forward-char 2 char))))))
;;; 向后搜索
(defun my-look-backward-char (char)
(interactive "c")
(search-forward
(char-to-string char) (point-at-bol) t -1))
(search-forward string around fail count)
查询目标字符串,并在目标字符串的最后一个字符处设置位点
返回 t 表示查询成功,移动位点只是附带效果
string: 要查找的内容,必须是字符串
around: 查询范围, 它被指定为缓冲区中的某个位置,
设定为 nil: 查询到缓冲区末尾
fail: 查询失败该怎么办,
设定为 nil: 如果查询就发出一个出错信号
设定为 t:查找失败返回 nil
count: 待查找字符串出现的次数
char-to-string 就是将字符转换成字符串的函数
point-at-eol 当前行行尾 point
M-x evil
多谢,我理解下代码
弃了evil,感觉evil把事情搞复杂了
不客气, 我刚刚补充了一些函数的说明
1 个赞
see this
1 个赞
不仅是当前文件 而是整个目录 速度还超快的
看看jump-char
这么少的star,你怎么找到的,
俺是初学者,这个可以加入我的研究材料
avy-goto-char-in-line
这个函数可以满足需要:
Jump to the currently visible CHAR in the current line.
1 个赞