gpt4 book ai didi

vim - 如何使用VISUAL BLOCK选择不同大小的单词?

转载 作者:行者123 更新时间:2023-12-04 07:27:18 25 4
gpt4 key购买 nike

我想从来没有人问过这个问题。
假设您只想选择 import 之后的变量文本中每行(设置、过滤器、用户、国家/地区、收藏夹)上的单词:

import settings from './settings';
import filters from './filters';
import user from './user';
import countries from './countries';
import favorites from './favorites';
我试图将光标放在 settings 的开头字,按 C-V4jE但不是成功。我也尝试在进入 VISUAL BLOCK 后申请 REGEX模式,某事
喜欢 /\w\s但产生相同的结果(固定列长度的文本块):
settings 
filters f
user from
countries
favorites
我期望在 Vim 上做的结果是这样的:
settings
filters
user
countries
favorites
我想我在 VS Code 上看到了这个功能,但是在多次搜索之后我在 Google 上找到了关于这个解决方案的 0 个结果,每个人都只展示了如何选择固定列长度的文本或者只是说使用 $这仅适用于您要选择到行尾的文本。
有人知道吗?谢谢!

最佳答案

这是视觉- 区块模式:您选择的是整个块,而不是它的任意子集或超集。
“视觉选择”多个任意长度的非连续文本片段不是内置方法可以完成的,因此您可以尝试某种“多光标”插件或以不同方式解决您的问题......
例如,如果您想将这些单词括在大括号中,因为它们不再是默认导出,您可以执行以下操作:

:'{,'}norm wciw{ <C-v><C-r>" }<CR>
其中普通模式命令 wciw{ <C-v><C-r>" } :
  • 使用 w 将光标移动到下一个单词,
  • 使用 ciw 更改内部单词,
  • 插入 { ,
  • 使用 <C-r>" 插入未命名寄存器的内容( <C-v> 用于插入文字 ^R ),
  • 插入 } ,

  • '{,'} 范围内的每一行上执行,代表当前段落。
    或者,根据您的评论,如果您想提取这些词以备后用,您可以执行以下操作:
    qaq
    :'{,'}norm w"Ayiwh"Ayiw
    哪里注册 aqaq 清除和正常模式命令 w"Ayiwh"Ayiw :
  • 使用 w 将光标移动到下一个单词,
  • 将其附加到寄存器 a"Ayiw ,
  • 使用 h 将光标移动到前面的空格,
  • 将其附加到寄存器 a"Ayiw ,

  • '{,'} 范围内的每一行上执行,代表当前段落。
    随着时间的推移,这些事情会自然而然地发生。

    关于vim - 如何使用VISUAL BLOCK选择不同大小的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68146473/

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