【发布时间】:2010-10-19 22:20:32
【问题描述】:
我经常必须更正以下 rails 代码:
assert_equal value, expected
assert_equal 的两个参数是乱序的,应该是:
assert_equal expected, value
在vim中,从第一行到第二行最有效的方法是什么?
【问题讨论】:
标签: vim
我经常必须更正以下 rails 代码:
assert_equal value, expected
assert_equal 的两个参数是乱序的,应该是:
assert_equal expected, value
在vim中,从第一行到第二行最有效的方法是什么?
【问题讨论】:
标签: vim
通过正则表达式:
:s/\v([^, ]+)(\s*,\s*)([^, ]+)/\3\2\1/
如果你经常这样做,你可以用它制作地图,例如:
:nmap <F5> :s/\v([^, ]+)(\s*,\s*)([^, ]+)/\3\2\1/<CR>
将光标放在要翻转的行上并点击F5。
【讨论】:
这一个将光标所在的单词与下一个交换 - 只需在命令模式下按 F9:
:map <F9> "qdiwdwep"qp
【讨论】:
映射一个组合键来执行命令:
:s/^assert_equal \(.*\), \(.*\)$/assert_equal \2, \1
【讨论】:
我一直喜欢正则表达式搜索和替换这些类型的任务:
:s/\(\w*\), \(\w*\)/\2, \1/
将用逗号分隔列表中的第二个单词交换第一个单词。
【讨论】:
嗯...我会说“tdwxx$i, ^[”tp,但这不是很有效或很容易,只是足够快输入...
【讨论】:
对于这么简单的事情,我会做一个小宏
qadf ea, ^[pxxq
然后@a 离开
【讨论】: