gpt4 book ai didi

vim - 如何替换 vim 脚本中光标下的单词?

转载 作者:行者123 更新时间:2023-12-04 18:31:32 24 4
gpt4 key购买 nike

expand("<cWORD>") 得到当前单词后并处理结果字符串,我试图用它替换当前单词。

我该怎么做?

EDIT 已添加来源。我用 python 写的。

cur_word = vim.eval('expand("<cWORD>")')
parts = cur_word.split('.')
if parts:
obj, accesses = parts[0], parts[1:]
result = obj + ''.join("['%s']"%a for a in accesses)
# how do I replace the current word with result?

最佳答案

编辑

看起来你想要这个:

viW
:s/\%V\.\(\w\+\)\%V/\="['" . submatch(1) . "']"/g

例如,对于下面的文本,curosr 在第二行:

x = a.get.property;
x = a.git.another.property; # cursor on the first letter 'e'

结果会是

x = a.get.property;
x = a['git']['another']['property'];

你可能想要你

  1. 抽出一个词,然后
  2. 移动光标(你没有提到)
  3. _用之前抽出的词替换光标下的词?

应该是

yiW (左右移动光标) viWp

例如:

 the lazy cow mooned over the racy hump
cursor here: ----> +

现在,做 yiW(抽取内部 WORD),Fa (回到:)

 the lazy cow mooned over the racy hump
--> +

现在,viWp 替换当前的 WORD:

 the over cow mooned over the racy hump
--> +

关于vim - 如何替换 vim 脚本中光标下的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8616182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com