我有很多 php/html 文件,其中包含许多应该使用 gettext 国际化的字符串。 因此,我必须遍历每个文件,找到“消息”字符串并将每个字符串替换为
<?= _("<my string>") ?>
我使用 vim,并且想设置一个快捷方式(映射)以便在插入模式下轻松完成此操作(例如使用 CtrlR)。
你知道如何实现这一目标吗?
最佳答案
我会使用 Tim Pope 的精彩 surround插件来完成此任务。
将以下内容添加到您的 ~/.vim/after/ftplugin/php.vim
文件:
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
关于php - 设置快捷方式以替换 VIM 中轻松选择的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798286/