如何在 vi 中逐行 select?
How to select from line to line in vi?
我经常想在 vi 中 select 多行。例如从第 1 行到第 10 行。
所以,当我想从一行跳到另一行时,我通常做的是输入 :110
以跳转到第 110
行,例如
而且,当我想逐行 select 时,我通常按 v
进入可视模式,然后使用 k
或 [= 向下滚动15=].
因此,直觉上我只需按 v
,然后键入 :<line number>
。但这是行不通的。
如何在vi中select从X行到Y行?
假设您要突出显示第 10 行到第 20 行。您可以使用:
10GV20G
细分:
- 10将
10
输入缓冲区
- G转到缓冲区中的行号
- V进入视线模式
- 20将
20
输入缓冲区
- G转到缓冲区中的行号
注意G表示Shift+g(大写G
) .
来源和 :
命令是 here。
选择本身没有意义;您通常希望在选择上调用命令。许多对视觉选择有效的命令都有相应的 Ex 命令。这样,如果您已经知道确切的范围,则无需通过视觉模式。视觉模式的最大好处是,如果没有单个动作或文本对象,您可以交互式和迭代地调整所选区域。
好处:help :range
是您可以简洁地指定行。例如第110到120行可以写成:110,120
,也可以写成:110;+10
.
如果同时设置数字和相对数字,则很容易看到目标终点线。
:set number relativenumber
所以,假设你在第 10 行,目标行显示 11,你用大写 V 开始选择,然后按 11j
V11j
如果你的块前后有空行,直接输入vip(可视内段)
简单就按 Shift v 行号 gg
例子:你当前行到第41行
只需按 Shift v 41 gg
注意: 你可以通过按行号移动到所选行 gg
我经常想在 vi 中 select 多行。例如从第 1 行到第 10 行。
所以,当我想从一行跳到另一行时,我通常做的是输入 :110
以跳转到第 110
行,例如
而且,当我想逐行 select 时,我通常按 v
进入可视模式,然后使用 k
或 [= 向下滚动15=].
因此,直觉上我只需按 v
,然后键入 :<line number>
。但这是行不通的。
如何在vi中select从X行到Y行?
假设您要突出显示第 10 行到第 20 行。您可以使用:
10GV20G
细分:
- 10将
10
输入缓冲区 - G转到缓冲区中的行号
- V进入视线模式
- 20将
20
输入缓冲区 - G转到缓冲区中的行号
注意G表示Shift+g(大写G
) .
来源和 :
命令是 here。
选择本身没有意义;您通常希望在选择上调用命令。许多对视觉选择有效的命令都有相应的 Ex 命令。这样,如果您已经知道确切的范围,则无需通过视觉模式。视觉模式的最大好处是,如果没有单个动作或文本对象,您可以交互式和迭代地调整所选区域。
好处:help :range
是您可以简洁地指定行。例如第110到120行可以写成:110,120
,也可以写成:110;+10
.
如果同时设置数字和相对数字,则很容易看到目标终点线。
:set number relativenumber
所以,假设你在第 10 行,目标行显示 11,你用大写 V 开始选择,然后按 11j
V11j
如果你的块前后有空行,直接输入vip(可视内段)
简单就按 Shift v 行号 gg
例子:你当前行到第41行 只需按 Shift v 41 gg
注意: 你可以通过按行号移动到所选行 gg