gpt4 book ai didi

Vim 相当于 "tr"命令

转载 作者:行者123 更新时间:2023-12-04 14:12:32 26 4
gpt4 key购买 nike

有这样的行:

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

关于Vim 相当于 "tr"命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25665318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com