设置快捷方式以替换 VIM 中轻松选择的字符串

2024-04-27

我有很多 php/html 文件,其中包含许多应该使用 gettext 国际化的字符串。 因此,我必须遍历每个文件,找到“消息”字符串并将每个字符串替换为

<?= _("<my string>") ?>

I use vim and would like to setup a shortcut (map) to do it easily in insert mode (With CtrlR for instance).

你知道如何实现这一目标吗?


我会用蒂姆波普的精彩surround https://github.com/tpope/vim-surround插件来完成此任务。

将以下内容添加到您的~/.vim/after/ftplugin/php.vim file:

let b:surround_{char2nr('_')} = "<?= _(\"\r\") ?>"

现在您可以通过视觉模式选择一些然后环绕。例如vitS_如果您处于插入模式,您可以通过以下方式包围文本<c-s>_您的光标将被插入到双引号之间。

如果您想删除周围的内容,作为奖励<?= _("<text here>") ?>并且只留下<text here>您可以将以下内容添加到您的~/.vim/after/ftplugin/php.vim还有:

nmap <buffer> <silent> ds_ ds<dt(%df?[(xds"

Tim Pope 有很多很棒的插件,我强烈建议您看一下其中的一些。

如需更多帮助,请参阅:

:h surround
:h surround-customizing
:h after-directory
:h curly-braces-names
:h b:var
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置快捷方式以替换 VIM 中轻松选择的字符串 的相关文章

随机推荐