手把手教学之Vim练级攻略---以思维的速度写代码(day02)

文章目录

  • Vim---day02
  • 01Vim的模式
    • 1. 普通模式(Normal Mode)
    • 2. 插入模式(Insert Mode)
      • ①. 基本插入模式命令 (i和I)
      • ②. 追加插入模式命令 (a和A)
      • ③. 换行插入命令(o和O)
      • ④. 替换插入模式(R和r)
      • ⑤. 从外部命令进入插入模式
    • 3. 可视模式(Visual Mode)
      • ①进入可视模式的三种方法
        • 1)字符选择模式:
        • 2)行选择模式:
        • 3)块选择模式(列模式):
        • 4)可视模式和normal模式都能进行粘贴复制等操作, 他们有什么不一样的?
          • 1. 模式的本质区别
          • 2. 选中范围的方式
          • 3. 操作方式对比
          • 4. 适用场景
          • 5. 实际案例
      • ②、可视模式下的常用命令
      • ③、块选择模式的特殊操作
      • ④、退出可视模式
    • 4. 命令行模式(Command-Line Mode)
    • 5. 选择模式(Select Mode)
    • 6. 替换模式(Replace Mode)
    • 7. Ex 模式(Ex Mode)
    • 8 . 作业

手把手教学之Vim练级攻略---以思维的速度写代码(day02)_第1张图片

Vim—day02

01Vim的模式

1. 普通模式(Normal Mode)

默认模式:启动 Vim 时,通常进入普通模式。
功能:执行各种命令(如复制、粘贴、删除等),不能直接输入文本。

2. 插入模式(Insert Mode)

功能:输入文本
切换方式:在普通模式下按 i、a、o 等进入插入模式。
返回普通模式:按 Esc。


如何进入插入模式?

①. 基本插入模式命令 (i和I)

i:在光标当前位置进入插入模式。
示例:当前光标在 Hello 的 H 上(我用黄色高亮块表示当前光标所在位置),按下 i 后,可以在 H 之前插入文本。(如果想在H之后插入文本那是命令a)

I:在光标所在行的行首(第一个非空字符处)进入插入模式。
示例: Hello(光标在第一个I上),按下 I 后,光标跳到H 前开始插入。

②. 追加插入模式命令 (a和A)

a:在光标后面(当前位置的下一个字符处)进入插入模式。
示例:光标在 H|ello 的 H 上,按下 a 后,可以在 H 后(e 前)插入文本。

A:在光标所在行的行尾进入插入模式。
示例:光标在行中间,按下 A 后,光标会跳到行尾开始插入。

③. 换行插入命令(o和O)

o:在当前行下面新建一行并进入插入模式
示例:光标在 Hello随便某个字符上,按下 o 后,会在其下方新增一行,进入插入模式。
O:在当前行上面新建一行并进入插入模式。
示例:光标在 Hello,按下 O 后,会在其上方新增一行,进入插入模式。

④. 替换插入模式(R和r)

r:替换光标下的单个字符(不会进入插入模式!)
示例:光标在 Hello 的 H 上,按下 rX,Hello 会变成 Xello。此时依旧是normal模式

R:进入替换模式,可以逐个替换已有的字符。
示例:光标在 Hello 的 H 上,按下 R 并输入 X 后,Hello 会变成 Xello. 你如果再输入"abc" , 那Xello就会变成Xabco. 此时是replace模式 .

另外 , 如果你想要返回操作 , 按backspace就好 .

⑤. 从外部命令进入插入模式

gi:跳转到上次退出插入模式的位置并重新进入插入模式。
示例:上一次在某行编辑完成后退出插入模式,按下 gi 会直接回到那个位置并开始编辑。

3. 可视模式(Visual Mode)

功能:用于选择文本块。可以对选中的文本进行操作(如删除、复制、格式化等)。
切换方式:
v:进入字符可视模式。
V:进入行可视模式。
Ctrl+v 或 Ctrl+q(某些终端):进入块可视模式(列模式)。
返回普通模式:按 Esc。

①进入可视模式的三种方法

1)字符选择模式:
  • 按 v 进入字符选择模式。
    用 h/j/k/l 或其他移动命令选择字符。
    选中的部分会被高亮显示。
2)行选择模式:
  • 按 V 进入行选择模式。
    每次移动光标时,都会选中整行。
    适合对整行进行复制、删除或缩进操作。
3)块选择模式(列模式):
  • 按 Ctrl-v 进入块选择模式。
    可以选择矩形区域(多个字符和行)。
    适合垂直列操作,例如注释或对齐文本。

4)可视模式和normal模式都能进行粘贴复制等操作, 他们有什么不一样的?
1. 模式的本质区别
  • Normal 模式:
    你通过命令和快捷键对文本进行操作,例如 yy(复制当前行),p(粘贴),dd(剪切当前行),y$(复制到行尾)等。
    操作时不需要通过光标手动选中具体文本,常结合范围命令来操作,例如 :3,5y 表示复制第 3 到第 5 行。

  • 可视模式:
    是一种交互式模式。
    允许你通过移动光标手动选择文本区域
    选择后可以对选中的内容进行操作,如复制(y)、删除(d)、替换等。

2. 选中范围的方式
  • Normal 模式:
    直接作用于行、单词或通过命令指定的范围,比如 yw(复制一个单词),2dd(剪切两行)。
    没有明确“选中”区域的概念,但操作的范围是命令决定的。

  • 可视模式:
    通过移动光标手动选择具体的字符、行或块区域。
    你可以动态调整选中范围,操作更直观。
    退出可视模式会取消选区。

3. 操作方式对比
操作 Normal 模式 可视模式
复制 yy (复制当前行) 选中后按 y
剪切 dd (剪切当前行) 选中后按 d
粘贴 p (在光标后粘贴) 同样使用 p
替换 ciw (删除并进入插入模式) 选中后按 c
格式化 =(对代码缩进格式化) 选中后按 =
4. 适用场景
  • Normal 模式:
    更适合对特定范围的精确、快速操作,尤其是行、单词、段落级别的内容。
    如果你清楚需要操作的范围,可以用 Normal 模式的命令完成得更快。
  • 可视模式:
    更适合操作需要手动选择的内容,特别是非规则的范围(比如部分字符、一列文本块)。
    对初学者来说更直观。
5. 实际案例
  • Normal 模式:
    移动光标到段落开头,输入 vipy,表示“选中整个段落并复制”。(visual inner paragraph yank)
  • 可视模式:
    按 v 进入字符可视模式,手动选择代码段后按 y 复制。
  • 调整某列文本缩进:
    Normal 模式:
    使用 >>(当前行右缩进)或 :3,5>(对第 3 到第 5 行缩进)。
    可视模式:
    按 V 进入行可视模式,选择 3 至 5 行,按 >。

②、可视模式下的常用命令

  • 复制(yank)
    在可视模式下选择一块文本后,按 y 复制选中内容。
    使用 p 将复制的内容粘贴到当前光标位置。

  • 删除
    在可视模式下选择文本后,按 d 删除选中内容。
    选中内容会被复制到剪贴板,可以使用 p 粘贴。

  • 替换
    进入可视模式选择区域后,按 c 进入插入模式。
    输入替换的文本,然后按 Esc 退出插入模式。

  • 缩进
    在行选择模式(V)或块模式(Ctrl-v)下:
    按 > 增加缩进。
    按 < 减少缩进。

  • 搜索和替换
    进入可视模式选中一块文本后,按 : 进入命令行模式。
    ‘<,’> 在底部会自动出现,表示对选中区域操作。

	:'<,'>s/old/new/g

将选中区域中的 old 替换为 new。

  • 更改大小写
    在可视模式下选择文本后:
    按 ~ 切换大小写。
    按 U 将选中部分变为大写。
    按 u 将选中部分变为小写。

  • 执行外部命令
    选择一块文本后,按 : 并运行外部命令:

	:!sort

这会将选中的文本区域按字母顺序排序。

③、块选择模式的特殊操作

块模式(Ctrl-v)在处理列数据时非常有用:

  • 插入文本
    进入块选择模式(Ctrl-v),选中一列或多行的块。
    按 I 在每行的开头插入文本。
    输入需要插入的内容,按 Esc 完成操作。
  • 追加文本
    在块选择模式下,按 A 在每行的末尾追加文本。
  • 删除块
    选中块后按 d,可以删除整个选中的列。
  • 替换块内字符
    选中块后按 R,输入新字符后按 Esc。

④、退出可视模式

按 Esc 键退出可视模式,回到正常模式。
或者直接执行命令后(如 d、y 等),Vim 会自动退出可视模式。

4. 命令行模式(Command-Line Mode)

功能:==执行各种命令==,如保存文件、退出 Vim、搜索、替换等。
切换方式:在普通模式下按 :、/ 或 ?。

  • ::输入命令(如 :w 保存、:q 退出)。
    /:向前搜索。
    ?:向后搜索。

执行命令后返回普通模式。

5. 选择模式(Select Mode)

功能:类似于可视模式,但在选择后直接输入会替换选中的内容
切换方式:在插入模式下按 Ctrl+g,或通过某些特定操作进入。

6. 替换模式(Replace Mode)

功能:替换现有文本。
切换方式:在普通模式下按 R 进入。
返回普通模式:按 Esc。

7. Ex 模式(Ex Mode)

功能:一种更基础的命令模式,允许连续输入多条命令
切换方式:在普通模式下按 Q(大写)。
返回普通模式:输入 visual 或 vi,然后按回车。

8 . 作业

  • 作业一:基本操作练习
    打开 Vim 并创建一个新文件。
    使用普通模式命令 i 在第一行输入文本 “Hello, World!”。
    按 Esc 键返回普通模式。
    使用命令 :wq 保存并退出文件。
  • 作业二:插入模式练习
    打开一个文本文件。
    使用 i 命令在第一行前插入新的一行,并输入 “This is a new line.”
    使用 a 命令在当前行末尾添加文本 " Add this at the end."
    使用 o 命令在当前行后添加新行,并输入 “This is another new line.”
    使用 O 命令在当前行前添加新行,并输入 “This is yet another new line.”
  • 作业三:可视模式练习
    打开一个文本文件。
    使用 v 命令选择一个单词,并使用 y 复制它。
    使用 p 命令在当前行后粘贴复制的单词。
    使用 V 命令选择整行,并使用 d 删除它。
    使用 Ctrl+v 进入块选择模式,选择三列文本,并使用 > 增加缩进。
  • 作业四:命令行模式练习
    打开一个文本文件。
    使用 / 命令搜索文本中的 “World”。
    使用 :w 命令保存文件。
    使用 :q 命令退出 Vim。
    使用 :%s/old/new/g 命令将文件中的所有 “old” 替换为 “new”。
  • 作业五:选择模式和替换模式练习
    打开一个文本文件。
    使用 Ctrl+g 进入选择模式,选择一段文本,并尝试输入新文本替换它。
    返回普通模式,使用 R 命令进入替换模式,逐个替换当前行的字符。
    按 Esc 退出替换模式。
  • 作业六:Ex 模式练习
    打开一个文本文件。
    使用 Q 命令进入 Ex 模式。
    输入 :%s/Vim/Vi/g 并按回车,将文件中的所有 “Vim” 替换为 “Vi”。
    输入 :wq 并按回车,保存并退出文件。
  • 作业七:综合练习
    打开一个文本文件。
    使用 i 命令在文件顶部插入版权声明。
    使用 v 命令选择一段文本,复制并粘贴到文件底部。
    使用 V 命令选择整行,增加缩进。
    使用 : 命令行模式,搜索特定文本,并在该行前添加注释。
    使用 :w 保存文件,并使用 :q 退出 Vim。

多多练习

你可能感兴趣的:(Vim,vim,编辑器,linux)