我有一个 R 文件的结果,如下所示:
filename totalvar result runtime
file1 100 0 20.45
file2 400 4 4.50
...
filen 200 1 2.00
Run Code Online (Sandbox Code Playgroud)
某些文件名包含奇怪的字符,因此我必须为其添加引号。使用 VIM 为每行的第一个单词添加引号的最简单方法是什么?就像是
filename totalvar result runtime
"file1" 100 0 20.45
"file2" 400 4 4.50
...
"filen" 200 1 2.00
Run Code Online (Sandbox Code Playgroud)
使用:substitute
命令并通过一系列非空白字符匹配第一个单词:
:2,$s/\S\+/"&"/
Run Code Online (Sandbox Code Playgroud)
在2,$
执行替换开始第2行,并通过文件的末尾去。
在\S\+
非空格字符序列匹配。它将匹配最左边的一个和可能的最长的一个,对应于每行中的第一个单词。
在&
关于更换侧代替了比赛本身,所以"&"
将围绕着它在双引号。
更新:您可以通过匹配前面的k-1个单词来概括这一点,以引用该行上的第k个单词。
例如,引用第四个单词:
:%s/\(\S\+\s\+\)\{3}\zs\S\+/"&"/
Run Code Online (Sandbox Code Playgroud)
这里\(...\)
定义了一组非空白,后跟空白,\{3}
匹配 3 和\zs
标记实际匹配的开始,所以只有那部分将被替换。
最终效果是您引用了包含 4 个或更多单词的行的第 4 个单词。
归档时间: |
|
查看次数: |
133 次 |
最近记录: |