Tom*_*ger 13 regex search replace nano
基本上,我需要将文本的一部分加倍.我知道我可以这样做:
sed G
Run Code Online (Sandbox Code Playgroud)
但如果我能直接在Nano中做到这一点会很棒.
我试图寻找线(结束$
),然后用喜欢的东西取代它\n
或[:newline:]
,但它似乎正则表达式是只承认搜索,而不是为了取代-它总是插入文字表达.
但是,这个问题表明它是可能的.虽然我无法弄清楚如何.是的,我有:
set regexp
Run Code Online (Sandbox Code Playgroud)
在我的.nanorc
CSᵠ*_*CSᵠ 14
set regexp
在您的配置文件中将:
默认情况下,扩展正则表达式搜索.
您也可以使用Meta+ R*以 交互方式激活它
但就是这样!搜索使用正则表达式,但作为替代纳米只接受字符串,引用除外捕获组\1
来\9
.
Nano的RegEx风格是一个POSIX实现,对于你不会计算[:newline:]
但接受的兴趣\s
,[:cntrl:]
(控制字符)和[:space:]
(所有空格字符,包括换行符)也否定了POSIX类:[^[:graph:]]
它无法完成,没有任何效果,尝试过:
^M
编码(但适用于Tab输入)013
实际上会像用户按下的那样解释它Enter)某些控制字符的ASCII代码:
Run Code Online (Sandbox Code Playgroud)DEC HEX (\t) 9 0x09 Horizontal Tab (\n) 10 0x0a New Line (\r) 13 0x0d Carriage Return ( ) 32 0x20 Space
Nano命令:
*Meta通常是Alt关键
此外,您可以通过录制和运行宏来自动执行此操作。您还可以将键绑定到宏序列。