vim常用使用技巧

在 Vim 中,以下是回到当前行起始位置和末尾位置的操作:

  1. 回到当前行的起始位置

    • 0(零)键,这是移动光标到当前行的最前面(行首)。
    • ^(Shift + 6),这是移动光标到当前行第一个非空白字符处。
  2. 回到当前行的末尾位置

    • $(Shift + 4),这是移动光标到当前行的最后一个字符处。

这些快捷键非常实用,可以帮助你快速在行内移动光标,从而提高编辑效率。


在 Vim 中,以下是撤销和取消撤销操作的快捷键:

  1. 撤销上一步的操作

    • u 键,可以撤销上一步的操作。
    • U 键(Shift + u)可以撤销当前行的所有修改。
  2. 取消撤销上一步的操作(重做)

    • Ctrl + r 键,可以重做撤销的操作。

这两个操作可以帮助你轻松地在编辑过程中进行错误修正和操作恢复。


在 Linux 系统中,Ctrl + Z 会将当前进程挂起并放入后台。要恢复被挂起的进程并查看后台任务,可以使用以下步骤:

  1. 查看后台任务

    • 使用 jobs 命令可以列出所有后台任务。输出示例:

      bash 复制代码
      [1]+  Stopped                 vim filename
      [2]-  Stopped                 another_command
  2. 恢复对应的任务

    • 使用 fg 命令可以将后台任务恢复到前台。若有多个任务,可以指定任务编号,例如 fg %1 恢复编号为 1 的任务。

      bash 复制代码
      fg %1
  3. 将任务继续在后台运行

    • 使用 bg 命令可以将挂起的任务继续在后台运行。例如,bg %1 将编号为 1 的任务继续在后台运行。

      bash 复制代码
      bg %1
  4. 查看后台任务的详细信息

    • 使用 ps 命令可以查看进程的详细信息。例如:

      bash 复制代码
      ps aux | grep vim

总结:

  • jobs 查看后台任务。
  • fg %n 恢复编号为 n 的任务到前台。
  • bg %n 让编号为 n 的任务继续在后台运行。

这些命令可以帮助你有效地管理和控制在后台运行的任务。


在 Vim 中,复制和粘贴的操作可以通过视觉模式和命令模式来实现。以下是具体的操作方法和示例:

复制和粘贴某几个字符

  1. 复制某几个字符

    • 进入正常模式,按 v 进入可视模式。
    • 使用方向键或 h, j, k, l 移动光标选择需要复制的字符。
    • y(yank)复制选中的字符。
  2. 粘贴字符

    • 将光标移动到要粘贴的位置。
    • p 将复制的字符粘贴到光标后面,或按 P 将字符粘贴到光标前面。

复制和粘贴某一行

  1. 复制某一行

    • 在正常模式下,光标放在要复制的行上。
    • yy 复制当前行。
  2. 粘贴行

    • 将光标移动到要粘贴的位置。
    • p 将复制的行粘贴到光标下一行,或按 P 将行粘贴到光标上一行。

复制和粘贴多行

  1. 复制多行

    • 在正常模式下,光标放在要复制的第一行上。
    • V 进入可视行模式。
    • 使用 jk 移动光标选择需要复制的多行。
    • y 复制选中的行。
  2. 粘贴多行

    • 将光标移动到要粘贴的位置。
    • p 将复制的多行粘贴到光标下一行,或按 P 将多行粘贴到光标上一行。

示例

复制某几个字符
  • 将 "Hello, World!" 中的 "World" 复制并粘贴到句子的末尾:

    vim 复制代码
    Hello, World!

    操作:

    • 移动光标到 "W"。
    • v,然后移动光标选择 "World"。
    • y 复制选中的字符。
    • 移动光标到句子末尾。
    • p 粘贴 "World"。
复制某一行
  • 复制整行 "Hello, World!":

    vim 复制代码
    Hello, World!

    操作:

    • 光标放在该行。
    • yy 复制该行。
    • 将光标移动到下一行。
    • p 粘贴该行。
复制多行
  • 复制以下两行:

    vim 复制代码
    Line 1
    Line 2

    操作:

    • 光标放在 "Line 1" 行。
    • V 进入可视行模式。
    • j 选择 "Line 1" 和 "Line 2" 两行。
    • y 复制选中的两行。
    • 将光标移动到要粘贴的位置。
    • p 粘贴两行。

通过这些操作,您可以轻松在 Vim 中进行字符、行和多行的复制和粘贴。


在 Vim 中,可以使用块可视模式(Visual Block Mode)来按列复制和操作文本。以下是具体的操作步骤和示例:

按列复制的步骤

  1. 进入块可视模式

    • 在正常模式下,按 Ctrl + v 进入块可视模式。
  2. 选择列

    • 使用方向键(h, j, k, l)移动光标来选择需要复制的列区域。
  3. 复制选择的列

    • y 复制选中的列区域。
  4. 粘贴列

    • 将光标移动到要粘贴的位置。
    • p 将复制的列粘贴到光标后面,或按 P 将列粘贴到光标前面。

示例

假设有以下文本:

vim 复制代码
12345
67890
abcde
fghij
复制第二和第三列
  1. 进入块可视模式

    • 将光标移动到 2 上。
    • Ctrl + v 进入块可视模式。
  2. 选择第二和第三列

    • 使用方向键选择第二和第三列区域,使其高亮显示:

      vim 复制代码
      23
      78
      bc
      gh
  3. 复制选择的列

    • y 复制选中的列区域。
  4. 粘贴列

    • 将光标移动到要粘贴的位置(例如,第一行的末尾)。

    • p 粘贴复制的列,使其变为:

      vim 复制代码
      1234523
      6789078
      abcdebc
      fghijgh

通过这种方式,可以轻松地在 Vim 中按列复制和粘贴文本。块可视模式对于处理列数据非常有用,特别是在编辑表格或代码时。


在 Vim 中,将复制的文本粘贴到下一行,可以通过以下步骤实现:

复制行并粘贴到下一行

  1. 复制当前行

    • 将光标放在要复制的行上。
    • yy 复制当前行。
  2. 粘贴到下一行

    • p 将复制的行粘贴到当前行的下一行。

示例

假设你有以下文本:

vim 复制代码
Line 1
Line 2
Line 3
复制 "Line 2" 并粘贴到其下一行
  1. 将光标移动到 "Line 2" 行。
  2. yy 复制 "Line 2" 行。
  3. p 将复制的行粘贴到当前行的下一行。

操作结果将变为:

vim 复制代码
Line 1
Line 2
Line 2
Line 3

复制列并粘贴到下一行

如果你需要复制某一列并将其粘贴到下一行,可以使用块可视模式进行操作。

假设你有以下文本:

vim 复制代码
12345
67890
abcde
fghij
复制第二列并粘贴到下一行
  1. 进入块可视模式

    • 将光标移动到 2 上。
    • Ctrl + v 进入块可视模式。
  2. 选择第二列

    • 使用方向键选择第二列区域,使其高亮显示:

      vim 复制代码
      2
      7
      b
      g
  3. 复制选择的列

    • y 复制选中的列。
  4. 粘贴到下一行

    • 将光标移动到要粘贴的位置(例如第一行的末尾)。

    • p 粘贴复制的列,使其变为:

      vim 复制代码
      123452
      678907
      abcdeb
      fghijg

通过这些操作,你可以在 Vim 中轻松地将复制的文本或列粘贴到下一行。


在 Vim 中,有多种方法可以跳转到某一行。以下是常用的方法:

使用行号跳转

  1. 跳转到指定行号

    • 在正常模式下,输入行号,然后按 G(大写的 G)。例如,要跳转到第 10 行,输入 10G
  2. 跳转到文件顶部

    • gg 跳转到文件的第一行。
  3. 跳转到文件底部

    • G 跳转到文件的最后一行。

进入命令模式跳转

  1. 使用命令模式跳转
    • 在正常模式下,按 : 进入命令模式。
    • 输入行号,然后按 Enter。例如,要跳转到第 20 行,输入 :20 并按 Enter

使用标记跳转

  1. 标记当前位置

    • 在正常模式下,按 m 然后按一个字母来标记当前位置。例如,按 ma 将当前位置标记为 a
  2. 跳转到标记位置

    • '(单引号)然后按标记的字母。例如,按 'a 跳转到标记 a 的位置。

示例操作

假设你有以下文本:

vim 复制代码
1: First line
2: Second line
3: Third line
...
10: Tenth line
...
20: Twentieth line
...
100: Hundredth line
跳转到第 20 行
  1. 在正常模式下,输入 20G:20 并按 Enter,光标将移动到第 20 行。
跳转到文件顶部和底部
  1. gg 跳转到文件顶部(第一行)。
  2. G 跳转到文件底部(最后一行)。
使用标记跳转
  1. 将光标移动到第 10 行,按 ma 将当前位置标记为 a
  2. 无论光标移动到哪里,按 'a 都可以跳转回第 10 行。

通过这些方法,你可以快速跳转到 Vim 中的任何行,极大提高编辑效率。


在 Vim 中,小写的 v 和大写的 V 都用于进入可视模式(Visual Mode),但它们的行为有所不同:

  1. 小写的 v(Visual Mode)

    • 小写的 v 进入字符可视模式(Character-wise Visual Mode),用于选择单个字符或一段字符。
    • 使用方向键或 h, j, k, l 移动光标,可以选择单个字符或连续的一段字符。
    • 选中的文本会被高亮显示。
  2. 大写的 V(Visual Line Mode)

    • 大写的 V 进入行可视模式(Line-wise Visual Mode),用于选择整行文本。
    • 使用方向键或 j, k 移动光标,可以选择多行文本。
    • 选中的整行会被高亮显示。

示例

假设有以下文本:

vim 复制代码
This is line 1
This is line 2
This is line 3
This is line 4
使用小写的 v 选择字符
  1. 将光标放在 T 上,按 v 进入字符可视模式。

  2. 使用方向键选择字符,例如选择 "This is line":

    vim 复制代码
    This is line 1
使用大写的 V 选择行
  1. 将光标放在 T 上,按 V 进入行可视模式。

  2. 使用方向键选择整行,例如选择第一行和第二行:

    vim 复制代码
    This is line 1
    This is line 2

操作示例

  • 复制选中的文本

    • 在字符可视模式或行可视模式下,按 y 复制选中的文本。
  • 删除选中的文本

    • 在字符可视模式或行可视模式下,按 d 删除选中的文本。
  • 粘贴复制的文本

    • 在正常模式下,按 p 将复制的文本粘贴到光标后面,或按 P 将文本粘贴到光标前面。

通过这两种可视模式,您可以根据需要选择字符级别或行级别的文本,进行复制、删除等操作,极大提高编辑效率。


在 Vim 中,dx 都是删除操作,但它们的作用范围和使用方法有所不同:

x 操作

  • x 删除当前光标下的单个字符(类似于普通文本编辑器中的删除键)。
  • X (大写的 X)删除光标前的单个字符(类似于普通文本编辑器中的退格键)。

示例操作

假设有以下文本:

vim 复制代码
Hello, World!
使用 x
  1. 将光标放在 H 上,按 x,结果为:

    vim 复制代码
    ello, World!
  2. 将光标放在 W 上,按 x,结果为:

    vim 复制代码
    Hello, orld!
使用 X
  1. 将光标放在 e 上,按 X,结果为:

    vim 复制代码
    Hllo, World!
  2. 将光标放在 , 上,按 X,结果为:

    vim 复制代码
    Hello World!

d 操作

  • d 用于删除文本并将其放入剪贴板。d 需要与其他命令组合使用来指定删除范围。
    • dw 删除从光标当前位置到下一个单词的开头。
    • de 删除从光标当前位置到当前单词的结尾。
    • dd 删除当前行。
    • d$ 删除从光标当前位置到行末。
    • d0 删除从光标当前位置到行首。

示例操作

假设有以下文本:

vim 复制代码
Hello, World!
使用 dw
  1. 将光标放在 H 上,按 dw,结果为:

    vim 复制代码
    , World!
  2. 将光标放在 W 上,按 dw,结果为:

    vim 复制代码
    Hello, !
使用 de
  1. 将光标放在 H 上,按 de,结果为:

    vim 复制代码
    , World!
  2. 将光标放在 o 上,按 de,结果为:

    vim 复制代码
    Hell World!
使用 dd
  1. 将光标放在 H 上,按 dd,结果为删除整行:

    vim 复制代码
    (整行被删除,光标移动到下一行)
使用 d$
  1. 将光标放在 H 上,按 d$,结果为:

    vim 复制代码
    (整行被删除,因为从光标到行末是整行)
使用 d0
  1. 将光标放在 o 上,按 d0,结果为:

    vim 复制代码
    o, World!

总结

  • x 删除当前光标下的单个字符。
  • X 删除光标前的单个字符。
  • d 用于删除指定范围的文本,通常与其他命令组合使用。

这些操作使得 Vim 在处理文本编辑任务时更加灵活和高效。

相关推荐
乐闻x7 分钟前
VSCode 插件开发实战(五):实现新语言支持和语法高亮
ide·vscode·编辑器
乐闻x29 分钟前
VSCode 插件开发实战(六):配置自定义状态栏
ide·vscode·编辑器
张明奇-琦玉29 分钟前
vscode添加全局宏定义
ide·vscode·编辑器
星星不说话~34 分钟前
VScode在远程服务器上安装Anaconda并确认安装成功的步骤
ide·vscode·编辑器
jinhuazhe201311 小时前
如何解决vscode powershell乱码
ide·vscode·编辑器
paintstar15 小时前
vscode 快速切换cangjie版本
ide·vscode·编辑器·仓颉·cangjie
科协软件201815 小时前
vscode+latex快捷键
ide·vscode·编辑器
半糖112215 小时前
【VSCode】常用插件汇总
vscode·编辑器
cnnews15 小时前
在vscode中的ESP-IDF插件中使用Arduino框架作为组件
ide·vscode·编辑器
乐闻x17 小时前
VSCode 插件开发实战(三):插件配置项自定义设置
ide·vscode·编辑器