有一个这样的文本文件
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
mail:x:8:12:mail:/var/spool/mail:/bin/false
ftp:x:14:11:ftp:/srv/ftp:/bin/false
http:x:33:33:http:/srv/http:/bin/false
如何在VI中将字符串2-4中从第2到5的所有字符替换为"X"?
上级:它像::2,4s//X/g我想我需要一个正则表达式
UPD2: :2,4s/^(.)...|^$/1XXX/ | 2,4s/^$/ XXX/
仅限 Vim
试试这个命令:
:2,4s/%2c.../XXX/
哪里:
-
2,4
适合in strings 2-4
-
%2c...
是为from 2nd to 5th
-
XXX
是为to 'X'
Vim和Vi
由于 Vi 没有 \%c,因此应改用以下命令:
:2,4s/^(.).../1XXX/
资源
-
:help :range
-
:help /ordinary-atom