- 主题:自从 vscode出来, sublime等编辑器就再也风光不再了吧
vw // 选中字符串
: // 进入命令模式
s/\(\w\w\)/0x\1, /g // 正则匹配两个字母,替换为 0x__,
$x // 跳到行尾删除最后一个多余的,
-- 注意,后有个空格用于排版,可以换成 \r 来分行排版
【 在 philbloo 的大作中提到: 】
: 怎么把一长串hex字符改成数组?
: 比如 112233445566778899aabbccddeeff
: 变成
: ...................
--
FROM 61.185.187.*
能接受正则表达式和命令模式的话以及捕获的话,@zeus2615 的需求就好办了:
一组长度*不等*的数据,行首加前缀,行末加后缀
:n1,n2s/\(^.*$\)/prefix_\1_suffix/g
n1,n2表示行的范围
^.*$表示一行所有
\( \)表示捕获
\1表示捕获的内容,即全行。
不想进入命令模式,可以通过点.来重复
/$Enter // 查找行尾
n // 定位到一个行尾
a" // 修改,比如加上引号
Esc // 退出插入模式
n. n. n. n. n. n. // 无脑重复,把行尾都加上引号
【 在 philbloo 的大作中提到: 】
: 厉害 谢谢两位
:
: s/\(\w\w\)/0x\1, /g // 正则匹配两个字母,替换...
--
修改:DoorWay FROM 61.185.158.*
FROM 61.185.158.*
以10行为例,Ctrl v,然后10j,很可能是jjjj…,I,prefix,Esc
列尾基本一样,按键次数。
比较下我的正则表达式,块编辑快可能只是你的感觉。
准确讲是思考的浅,容易。
要是思考的浅,符合你的需求的就是我说的 /$ 修改 n.n.n.重复
【 在 zeus2615 的大作中提到: 】
: 不管是宏、%s或者.
: 都不考虑,太慢,我只希望要跟块编辑一样快的方法
--
FROM 61.185.161.*
以10行为例,Ctrl v,然后10j,很可能是jjjj…,I,prefix,Esc
列尾基本一样,按键次数。
比较下我的正则表达式,块编辑快可能只是你的感觉。
准确讲是思考的浅,容易。
要是思考的浅,符合你的需求的就是我说的 /$ 修改 n.n.n.重复
【 在 zeus2615 的大作中提到: 】
: 不管是宏、%s或者.
: 都不考虑,太慢,我只希望要跟块编辑一样快的方法
--
FROM 61.185.161.*
Ctrl v列模式是多选Multi-Selection的特例
vim的文字Model是基于grid的,所以有列模式是自然的,
不等长的只能“多点选择”。Sublime里这个是卖点,批量更新变量名。
neovim的替换,有实时预览的效果,所以:%s/from,约等于多选。继续输入/to/g等于Shift i to,最后按回车确认,类似Esc结束列模式。
完全取决于脑子里的建模,但是加上视觉反馈更容易建模。
我认同你说的“中断”的感觉,所以一个方向是为多选加个map,在*上做文章,比如CtrlShift8表示多选光标所在处的单词。另一个方向是续接搜索命令,/from,肉眼查看高亮目标无误了,再按个Shift i,表示开始插入,Shift s表示替换。
我怀疑已经有这样的插件了,neovim。不过我另一个原则,尽量少用插件,所以还是坚持命令模式替换。除非内置了续接搜索的操作。或说我可以去提个issue,哈哈,或者自己实现了
【 在 zeus2615 的大作中提到: 】
: 我的场景不存在j
: ^vGIx
: 主要问题在于每行的长度不一样,所以我没办法直接块编辑行尾,不是指A,而是$s的时候
: ...................
--
FROM 36.40.146.*