Vim相当于“tr”命令
发布时间:2020-12-16 01:34:12 所属栏目:安全 来源:网络整理
导读:有这样的线: xxAyayyBwedCdweDmdwCkDwedBAwe;;;; cleaner example__A__B__C__D__C_D_BA_ 想要将ABCD替换成PQRT,例如要得到 __P__Q__R__T__R_T_QP_ 例如,下一个bash或perl tr的等价 tr '[ABCD]' '[PQRT]' "$string" 如何在“vim”中执行此操作? (VIM – Vi
有这样的线:
xxAyayyBwedCdweDmdwCkDwedBAwe ;;;; cleaner example __A__B__C__D__C_D_BA_ 想要将ABCD替换成PQRT,例如要得到 __P__Q__R__T__R_T_QP_ 例如,下一个bash或perl tr的等价 tr '[ABCD]' '[PQRT]' <<<"$string" 如何在“vim”中执行此操作? (VIM – Vi IMproved 7.4(2013年8月10日,2014年5月9日编译12:12:40))
您可以将tr()函数与:global结合使用
:g/./call setline(line('.'),tr(getline('.'),'ABCD','PQRS')) 很容易使其适应:%Tr#ABCD#PQRS命令. :command! -nargs=1 -range=1 Translate <line1>,<line2>call s:Translate(<f-args>) function! s:Translate(repl_arg) range abort let sep = a:repl_arg[0] let fields = split(a:repl_arg,sep) " build the action to execute let cmd = a:firstline . ',' . a:lastline . 'g'.sep.'.'.sep . 'call setline(".",tr(getline("."),'.string(fields[0]).','.string(fields[1]).'))' " echom cmd " and run it exe cmd endfunction (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |