VIM搜索和替换
发布时间:2020-12-16 01:28:48 所属栏目:安全 来源:网络整理
导读:我正在做一些拼图,其中每个英文字符被2个字符高级替换.例如,“apple”将被写为“crrng”a 2 = c,…并且类似于pple.在 python maketrans我能够做到. 我想知道在VIM搜索中是否有类似的东西是可能的.更换?? 有任何想法吗??? 如果字母字符按顺序排列在目标
我正在做一些拼图,其中每个英文字符被2个字符高级替换.例如,“apple”将被写为“crrng”a 2 = c,…并且类似于pple.在
python maketrans我能够做到.
我想知道在VIM搜索中是否有类似的东西是可能的.更换?? 有任何想法吗???
如果字母字符按顺序排列在目标中
encoding1,使用以下替换命令2. :%s/./=nr2char(char2nr(submatch(0))+2)/g 但是,这种替换实现了非圆形的字母移位.一个圆形 :%s/l/=nr2char(char2nr('a') + (char2nr(submatch(0)) - char2nr('a') + 2) % 26)/g :%s/u/=nr2char(char2nr('A') + (char2nr(submatch(0)) - char2nr('A') + 2) % 26)/g 另一种方法是使用tr()函数翻译字符.让我们 :let a = 'abcdefghijklmnopqrstuvwxyz' :let a1 = a[2:] . a[:1] 为避免手工输入整个字母,可以生成a的值 :let a = join(map(range(char2nr('a'),char2nr('z')),'nr2char(v:val)'),'') 然后,用一个字母替换一行中的每个字母 :%s/.*/=tr(submatch(0),a . toupper(a),a1 . toupper(a1)) 1对于ASCII和UTF-8中的一些字母表,例如,英语. 2在运行命令之前,请确保编码选项相应地设定. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |