像 tr 一样翻译 vim 中的字符

Translate characters in vim like with tr

我想翻译 vim 中的字符,就像使用命令行工具 trsed:

$ echo 'foo bar' | sed 'y/for/tes/'
tee bas

所以我想用其他字符替换所有出现的某些字符。

我不知道有什么方法可以用开箱即用的 vim 来做到这一点,但是插件 vim-abolish 可以实现这些功能:

:S/{f,o,r}/{t,e,s}/g

这将执行与您发布的 sed 命令相同的操作。

您可以使用 :help :range! 通过任意外部命令过滤缓冲区的内容,因此您可以简单地使用您习惯使用的工具:

:%!sed 'y/for/tes/'
:%!tr for tes

另见 :help !:help !!