基本上,我需要将文本的一部分加倍。我知道我可以做到:
sed G
但如果我可以直接在 Nano 中完成,那就太好了。
我试图搜索行尾(
$
),然后用诸如 \n
之类的东西替换它或 [:newline:]
但似乎 RegExp 仅被识别为搜索而不是替换——它总是插入文字表达式。然而,this question表明这是可能的。虽然我不知道怎么做。是的,我有:
set regexp
在我的 .nanorc 中
最佳答案
set regexp
在您的配置文件中将:
Do extended regular expression searches by default.
您还可以使用 Meta + R* 交互激活它
但就是这样!使用正则表达式搜索,但作为替代,Nano 只接受字符串,引用的捕获组除外
\1
至 \9
.Nano 的 RegEx 风格是一种 POSIX 实现,对于您感兴趣的内容,它不计算
[:newline:]
但接受 \s
, [:cntrl:]
(控制字符)和 [:space:]
(所有空白字符,包括换行符)也否定 POSIX classes :[^[:graph:]]
回答
无法完成,没有任何效果,尝试过:
^M
编码(但适用于 Tab 输入)013
实际上会像用户按下 Enter 一样解释它)一些控制字符的 ASCII 码:
DEC HEX (\t) 9 0x09 Horizontal Tab (\n) 10 0x0a New Line (\r) 13 0x0d Carriage Return ( ) 32 0x20 Space
纳米命令:
* Meta 通常是 Alt 键
PS:“有时候失败就是答案,或者有人应该证明我错了”
PPS:请
关于regex - Nano 在搜索和替换中插入换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25959610/