哈哈我也不李姐。
所以我用protesilaos方案:
哈哈我也不李姐。
所以我用protesilaos方案:
感谢感谢
又抄到一个实用配置。
今天遇到了一个可以用类似思路解决的情景,假如我有这样一个 org:
* 1
afaf a
* 2
adfadf
* 3
adfa
* 4
afaf
* 5
afasdf
* 6
adsf
* 7
sfasdf
* 8
adsfa
* 9
* 10
想要在 1-9 编号的 headline 中补 0 以实现对齐。这时没法直接用块编辑,可以通过 consult-outline 过滤出 headline 结构,然后用 embark export 出 occur buffer, 然后按 e 进入编辑模式,这样就可以使用块编辑实时修改了。
感谢分享。
我发的第一个帖子就是问的类似问题:多个文件多个区域的文本 narrow 到一个单独 buffer 中编辑(yode.nvim)
这种两个或多个插件协同实现 1+1+… > (1+1+…)^(1+1+…) 的体验真的爽!
ivy swiper 和vertico emark consult
整合利用rg +wgrep
doom都支持了这样的操作,这两个抄过来,一直是用的最爽的功能了,特别是重构的时候。
实现批量编辑功能的是 wgrep,ivy、helm、consult 和 rg 都基于 wgrep,也有插件独立实现了 wgrep 的功能,比如 helm-ag。
批量搜索替换不需要 wgrep 以外的第三方插件:
M-x grep RETC-a C-k rg -n -H --no-heading XXX RETC-c C-p前两步可以简单包装一下:
(defvar rg-command-prompt "rg -n -H --no-heading ")
(defun rg ()
(interactive)
(require 'grep)
(grep--save-buffers)
(compilation-start
(read-shell-command "command: "
rg-command-prompt
'grep-history)
'grep-mode))
M-x rg RET XXX RETC-c C-p这种场景很适合用 replace-regexp:C-M-% \* \([0-9]\)$ RET * 0\1 RET。vim/evil 用户::%s/\* \([0-9]\)$/* 0\1/gc。
正则还是太麻烦了,每次都得在脑子里先绕一会儿,不如块编辑直观
是的。要是规则能抽象出来,直接sed完事,比什么都快。这个定身术就强在不需要写规则,直接把搜索出来的结果具体情况具体分析,一个一个改就好了,交互式操作。
前几天刚装了rg.el ,搜索替换比这个好。
但是rt el修改完搜索结果后。对应的文件没有自己保存。需要到buff中按 C x C s 不知道是我没弄明白还是它只能如此。
按 C-x s 可以批量保存所有 buffer
了解。那就没问题了。
此话题已在最后回复的 730 天后被自动关闭。不再允许新回复。