使用 Vim 如何尽量快捷地交换有逗号分隔的两个单词的位置?

2019-10-30 22:03:53 +08:00
 littleMaple

常常遇到的应用场景是一个二元函数的签名里有两个形式参数:

# Before
def copy(dest, src):
    pass
    
# After Vim operations:
def copy(src, dest):
    pass

有时候想要把两个参数的位置对换,发现每次都很麻烦,所以想要用 Vim 的一些技巧来加快这个操作,不知道大家有什么好的做法。

为了方便讨论,可以假设初始时候 Vim 的光标在第一个参数的首字母上。

4095 次点击
所在节点    Vim
10 条回复
infoflow
2019-10-30 22:25:28 +08:00
dt,lpdebbp
infoflow
2019-10-30 22:37:38 +08:00
剪切第一个参数不需要用 dt, 直接用 de 就行了 改成 delpbbp
loy6491
2019-10-30 22:45:23 +08:00
nnoremap <LEADER>swp dwlpldeF,P
laowudxf
2019-10-31 09:27:14 +08:00
normal 模式 跑到第一个参数上面 daw w viwp F( p
opiviqo
2019-10-31 10:15:16 +08:00
de (剪切第一个参数)
l(移动)
p (复制)
lde
bbp
yuuko
2019-10-31 10:33:49 +08:00
操作再快还是没有用插件爽
jdhao
2019-10-31 11:03:04 +08:00
ClaudeRay
2019-10-31 11:17:55 +08:00
evil 用户路过,希望不会被打……
e M-t
amimo
2019-10-31 11:29:55 +08:00
pycharm 用户路过,希望不会被打……
ctrl + f6 (Refactor -> Change Signature)
KentY
2019-11-09 00:56:31 +08:00
如果经常做互换操作
exchange plugin 挺好用的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/614617

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX