vim编辑器共有3种模式,即普通模式、插入模式、可视模式。
- 普通模式:进入vim编辑器后,即为普通模式,在普通模式中,可以在一个 :后面输入一个命令,按下“enter”键执行这一命令。
【注意】:命令都是在普通模式下才能运行的,命令均以 :开始 - 插入模式:(可编辑内容的模式),在普通模式下,按“i”、“a”或“o”键进入插入模式(可编辑状态),输入 :wq ,完成保存,并退出整个vim编辑器。输入结束后,按“Esc”键可以切回普通模式。
- 可视模式:在普通模式下,按“v”键即可进入可视模式,在可视模式下,完成复制和粘贴等操作。按“Esc”键可以切回普通模式。
==》三种模式转化必须经过普通模式的中转。
① 移动命令 ==》插入模式or 普通模式均可使用
【光标移动】:(1)$ 命令:使用$ 命令可以将光标移动到当前行的行尾。【常用】
n$ 接受数字前缀n,表示将光标向后移动n行到改行的行尾
(2)0 命令:使用0命令可以将光标移动到当前行的第一个字符。【常用】
注意:该命令不可以接受数字前缀
(3) ^ 命令 :使用^命令可以将光标移动到当前行的第一个非空白字符。
注意:该命令前加上数字前缀无效【行移动】:
(1): 行号 命令:
【语法】::行号 移动到指定的行
==》最简单的行移动方式,即冒号+行号
(2)j命令:实现向下跳转若干行。 nj 接受数字前缀n,表示向下跳转n行,n代表相应跳转的行数
(3)G 命令:使用G命令将光标定位到这个文件的最后一行。【常用】
nG :该命令前加上数字前缀,表示将光标定位到文件的第n行。
(4)gg 命令:移动到文件的第一行,相当于1G。
(5)n [enter键] 命令:n为数字,光标向下移动n行。【常用】
②查找命令 ==》普通模式下使用
(1)/ words : words 以字符串的形式表示
【注意】:该字符串不用加引号,直接写,向光标之下寻找一个名称为word的字符串,
例如,查找vide,则/vide 即可【常用】
(2)?words : words 以字符串的形式表示
【注意】:该字符串不用加引号,直接写,向光标之上寻找一个字符串名称为words的字符串。
(3)键盘按键【n】:重复前一个查找的操作。
(4)键盘按键【N】:反向重复前一个查找的操作,即前一个向下查找,则此次向下查找。
③替换命令 ===》普通模式下使用
(1):n1,n2s/word1/word2/g 命令:
在第n1行和第n2行之间寻找word1这个字符串,并使用word2替换word1。
(2):1,$s/word1/word2/g 命令:
从第一行到最后一行寻找word1字符串,并替换为word2字符串。(3):1,$s/word1/word2/gc 命令:
从第一行到最后一行寻找word1字符串,并替换为word2字符串,且在替换前显示提示字符给用户确认,是否要进行替换。
④删除命令 ===》普通模式下使用
(1)x和X :在一行当中,x表示向后删除一个字符,X表示向前删除一个字符。
(2)nx:n为数字,表示连续向后删除n个字符。
(3)dd:删除(剪切)光标所在的那一行。
(4)ndd:n为数字,删除(剪切)光标所在的向下的n行,
(5)d1G:删除(剪切)所在行到第一行的所有数据
(6)dG:删除(剪切)所在行到最后一行的所有数据
(7)d$:删除(剪切)光标所在处,到该行的最后一个字符。
(8)d0:删除(剪切)光标所在处,到该行的第一个字符。
⑤命令模式进入编辑模式的命令===》命令行模式(普通模式)
(1)i or I : i表示从当前光标所在处插入,I表示在目前所在行的第一个非空格处开始插入
(2)a or A: a表示在目前光标所在的下一个字符处开始插入;A表示从目前光标所在行的最后一个字符处开始插入 (3)o or O:
o表示在目前光标所在位置的下一行处插入新的一行,O 表示在目前光标所在处的上一行插入新的一行。
⑥插入模式切换为命令行模式(普通模式)===》命令行模式(普通模式)
先按【ESC】退出编辑模式,进入普通模式 (1):w :保存
(2):w! :强制保存
(3):q :退出vim/vi
(4):q! :强制退出
(5):wq :保存并退出
(6):wq! :强制保存并退出
(7)ZZ :若文件没有修改,则不保存退出,若文件发生修改,则保存退出
(8):w[filename] :将编辑的数据保存为另一个文件==》另存为
(9):r[filename] :在编辑的数据中,追加另一个文件的数据,即将【filename】这个文件内容追加到光标所在行的后面
(10):n1,n2 w [filename] :将n1到n2的内容保存为filename这个文件
(11):!命令 :在插入模式中执行命令行的指令,起到暂时退出的效果。 例如:【:! ls/home】即可在vi当中查看/home下面以ls输出的文件信息。
(12):set nu :显示行号,设置之后,会显示行号
(13):set nonu :与set nu相反,为消除行号



