You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Vi/Vim中如何从当前光标复制子串到逗号、空格或右括号位置

Vi快速复制指定范围内容的方法

核心逻辑

Vi中复制(yank)命令遵循 y + 动作范围 的语法,你可以通过字符查找动作直接定位到终止位置,无需统计字符数。


场景1:复制到下一个指定字符(单分隔符场景)

你的场景里键值对默认以逗号分隔,直接用以下命令即可:

  • 如果你要复制的内容不包含末尾的逗号(刚好得到完整键值对'neo':(3,1)):将光标定位到键值对起始位置,输入 yt,
    • 命令解释:y=复制,t=移动到目标字符前,,=目标字符为逗号
  • 如果你需要包含末尾的逗号:输入 yf,
    • f=移动到目标字符所在位置,会把逗号一起复制

如果是字典最后一个没有逗号的键值对,把逗号替换成大括号即可:输入 yt} 就能复制到字典末尾的}之前。


场景2:复制到空格/右括号/逗号中最先出现的字符(多分隔符场景)

如果你不确定下一个分隔符是空格、)还是逗号,可以用正则查找匹配任意分隔符:
输入 y/[ ,)] 后按回车键即可

  • 命令解释:/[ ,)] 是向后查找第一个匹配空格、逗号、右括号的位置,复制范围为当前光标到该位置之前。

命令补充说明

  • 如果目标字符在光标前方,把t/f换成大写的T/F即可向前查找
  • 复制完成后按p即可在光标后粘贴,按P在光标前粘贴

内容的提问来源于stack exchange,提问作者Classified

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:15:00