【Linux】15. 详解Vim快捷操作

目录

[1. 命令模式](#1. 命令模式)

[1.1 移动光标](#1.1 移动光标)

[1.2 跳转](#1.2 跳转)

[1.3 批量注释和反注释](#1.3 批量注释和反注释)

[1.4 删除字母](#1.4 删除字母)

[1.5 删除整行或剪切](#1.5 删除整行或剪切)

[1.6 从光标所在行删除到文件末尾](#1.6 从光标所在行删除到文件末尾)

[1.7 复制](#1.7 复制)

[1.8 粘贴](#1.8 粘贴)

[1.9 替换](#1.9 替换)

[1.10 撤销与反撤销](#1.10 撤销与反撤销)

[1.11 设置/取消行数](#1.11 设置/取消行数)

[1.12 搜索](#1.12 搜索)

[1.13 如何将代码调整整齐](#1.13 如何将代码调整整齐)

[1.14 保存文件](#1.14 保存文件)

[1.15 退出Vim](#1.15 退出Vim)

[2. 插入模式](#2. 插入模式)

[3. 底行模式](#3. 底行模式)

[4. Visual模式](#4. Visual模式)


  • Vim包括命令模式,插入模式和底行模式,Vim进入时默认为命令模式
  • 命令模式进入插入模式:输入"i"或者"a"或者"o"
  • 命令模式进入底行模式:输入":"
  • 插入模式返回命令模式:输入"Esc"

1. 命令模式

1.1 移动光标

1.2 跳转

(1)跳转到文件开头:gg

(2)跳转到文件末尾:G

(3)跳转到行首

① 0:光标会跳转到行首,即index=0处,即使0处为空

② ^ 或 Home 键:光标会跳转到当前文字出现的首位置,即会跳过空格

(4)跳转到行尾

① $ 或 End 键:光标跳转到行尾,若当前已换行(意思是一行显示不完),则跳转到换行的行尾

(5)跳转到指定行

① 数字gg:如跳转到16行,则执行 16gg 即可

② **:**数字:如跳转到16行,则执行 :16 即可

1.3 批量注释和反注释

(1)方法一:块选择模式

① 注释:Ctrl+v进入Visual模式,移动上下键选择需要注释的行,按 "I" (大写的i)进入插入模式,输入 "//" ,再按 Esc 即可

② 取消注释:Ctrl+v进入Visual模式,移动上下左右键选择需要取消注释的行,即要选中所有的 ''//" ,按下 "d" 即可

(2)方法二:命令

① 注释::起始行号,结束行号s#^#注释符#g,例如16-28需要注释的命令::16,28s#^#//#g

② 取消注释::起始行号,结束行号s#^注释符##g,例如16-28取消注释的命令::16,28s#^//##g

1.4 删除字母

(1)x:删除单个字母

(2)nx:删除n个字母,例如从光标位置连续删除10个字母,可以使用10x

1.5 删除整行或剪切

(1)dd:删除单行

(2)ndd:删除n行

(3):n1,n2d:删除n1-n2行

注意:这里的 dd 既是删除也是剪贴

1.6 从光标所在行删除到文件末尾

(1)dG:从光标所在行删除到文件末尾,d是删除行,G是文件尾,连起来就是删除到文件末尾

1.7 复制

(1)yy:复制单行

(2)nyy:复制n行

1.8 粘贴

(1)小写 p:粘贴到光标的下一行

(2)大写 P:粘贴到光标的上一行

1.9 替换

(1)小写 r:替换光标所在的字符

(2)大写 R:从光标所在处开始替换字符,按Esc结束

1.10 撤销与反撤销

(1)u:撤销

(2)Ctrl + r:反撤销

1.11 设置/取消行数

(1)set nu:显示行数

(2)set nonu:取消显示行数

1.12 搜索

(1)/:从光标所在处向下搜索

(2)?:从光标所在处向上搜索

例如:在命令模式直接输入/MyFunc,被搜索的MyFunc会高亮显示,n向下搜索,N向上搜索

取消高亮:输入 :noh

1.13 如何将代码调整整齐

(1)方法一:自动排版

在命令模式下输入 gg=G 即可

注意:确保Vim开启了适当的缩进设置,可以在.vimrc文件中添加以下设置(该文件通常在用户的home目录下)

bash 复制代码
        set tabstop=4            //设置一个Tab键的宽度为4个空格

        set shiftwidth=4         //设置自动缩进的宽度为4个空格

        set expandtab            //将Tab键转换为空格

(2)方法二:手动排版

在Visual模式下,选中要调整的代码,按下"="键后选中的代码会自动调整

1.14 保存文件

(1)命令模式输入:w,表示保存文件

1.15 退出Vim

(1):q:退出

(2):wq:保存并退出

(3):q!:不保存强制退出

2. 插入模式

(1)小写i:在光标所在的字符前插入

(2)大写I:在光标所在的行首插入

(3)小写o:在光标下插入新行

(4)大写O:在光标上插入新行

(5)小写a:在光标所在的字符后插入

(5)大写A:在光标所在的行尾插入

3. 底行模式

命令模式下输入":"进入底行模式

4. Visual模式

Visual模式用于选择文本块,然后执行各种命令去操作文本块

(1)普通可视模式

在命令模式下输入小写"v"可进入,再次按小写"v"可退出

可以通过移动光标选择任意字符形成一个矩形区域,可选择单个字符或跨行多个字符

(2)行可视模式

在命令模式下输入大写"V"可进入,再次按大写"V"可退出

以行为单位文本,选择是整行文本

(3)块可视模式

在命令模式下输入"Ctrl + v"可进入,再次输入"Ctrl + v"可退出

以块的形式选择文本,可以用来选择矩形区域的文本