如何在vim中有效地切换参数

在vim中编辑一个文件时,我遇到了一种情况,我仍然没有找到一种以vim方式快速完成它的方法。 编辑函数调用时,我不情愿地将我的参数按错误顺序排列。

anyFunction(arg2, arg1)

当遇到这种情况时,我必须找到arg2 /将其删除/在'''/'处理'之前追加它。

这不是快速完成这项任务的更好方法吗? 我愿意接受任何想法(宏/快捷方式/插件),即使我宁愿只有'vim'这样做


你需要两件事情:

  • 一个文本对象来快速选择一个参数(因为它们并不总是像你的例子那么简单)。 argtextobj插件(我改进的叉子)这样做。
  • 虽然可以使用删除+可视模式+粘贴+返回+粘贴,但交换文本的插件使得这更容易。 我的SwapText插件或已经提到的交换插件都可以完成这项工作。

  • 我会推荐一个插件:vim-exchange:

    https://github.com/tommcdo/vim-exchange


    把这个映射放在_vimrc中。

     " gw : Swap word with next word 
     nmap <silent> gw :s/(%#w+)(_W+)(w+)/321/<cr><c-o><c-l>
    

    然后在正常模式下用光标在arg1的任何地方输入gw来交换参数

     anyFunction(arg1, arg2)
    

    说明:-

    arg1分隔符(这里是一个逗号)和arg2被放入正则表达式存储器1 2 3

    该替代品将它们逆转为3 2 1

    Control-O返回上一个位置

    Control-L重新绘制屏幕

    请注意,分隔符是任何非字母数字字符或字符串e,g空格

    链接地址: http://www.djcxy.com/p/49469.html

    上一篇: How to efficiently switch arguments in vim

    下一篇: VIM ctrlp.vim plugin: how to rescan files?