vi 替换 vim 的不同行为
vi substitution different behaviour from vim
我正在尝试用经典 vi 中的单词替换换行符(在 arch linux 中)。替换命令如下所示:
:%s/\n/word/g
在 vim 中确实有效。我正在处理的文件是从 Calc 复制/粘贴的结果(来自数据仓库程序的 csv)。
VIM 输出是行被替换(导致非常长的行,这是我必须提供给另一个程序的命令)。
我在 Windows 和 Linux 上 VIM 测试了这个。
Vi 在同一个文件上的输出是:"Substitute pattern match failed"
我使用的vi版本是Arch中的默认版本:Version 4.0 (gritter) 12/25/06
这是经典的vi。
我在 VIM 中不是做不到,但为什么这在 vi 中不起作用?有没有办法使这项工作?我试图寻找解决方案,但没有找到任何有用的东西。
vi
用ex
regular-expressions, which are mostly POSIX Basic Regular Expressions, and do not require C-style escape sequences. The join
commend from ex
代替,用!
防止修改(一般是调整空格)。
:%j!
替换命令可用于模拟替换换行符。
:2,$s/^/start
:1,$-s/$/end
:%j!
我正在尝试用经典 vi 中的单词替换换行符(在 arch linux 中)。替换命令如下所示:
:%s/\n/word/g
在 vim 中确实有效。我正在处理的文件是从 Calc 复制/粘贴的结果(来自数据仓库程序的 csv)。
VIM 输出是行被替换(导致非常长的行,这是我必须提供给另一个程序的命令)。 我在 Windows 和 Linux 上 VIM 测试了这个。
Vi 在同一个文件上的输出是:"Substitute pattern match failed"
我使用的vi版本是Arch中的默认版本:Version 4.0 (gritter) 12/25/06
这是经典的vi。
我在 VIM 中不是做不到,但为什么这在 vi 中不起作用?有没有办法使这项工作?我试图寻找解决方案,但没有找到任何有用的东西。
vi
用ex
regular-expressions, which are mostly POSIX Basic Regular Expressions, and do not require C-style escape sequences. The join
commend from ex
代替,用!
防止修改(一般是调整空格)。
:%j!
替换命令可用于模拟替换换行符。
:2,$s/^/start
:1,$-s/$/end
:%j!