Vim常用命令
- 命令模式、插入模式、编辑模式之间的操作
1. 进插入模式命令
-
【a】 : 在光标所在字符后插入(相当于后移一个字符)
-
【A】: 在光标所在行的行尾插入
-
【i】 : 在光标所在字符前插入(相当于前移一格字符)
-
【I】 : 在光标所在行的行首插入
-
【o】: 在光标所在行的下行插入新行(相当于换行)
-
【O】 : 在光标所在行的上行插入新行
2. 定位命令
有时程序复杂,行数太多,在文本编辑结束后,若要修改,需迅速跳转到某一行的某个位置,可在命令模式下键入以下操作即可精准定位。
- 第n行定位
- 【: set nu】 : 设置行号,程序语句不多时,可直接很据行号查找。
- 【: set nonu】 : 取消行号
- 【nG】 : 光标跳转到第n行行首
- 【: n】 : 光标跳转到第n行行首(定位到具体某行)
- 【gg】 : 光标跳转到第一行行首
- 【G】 : 光标跳转到最后一行行首
- 第n行-具体的字符定位
- 【$】 : 光标移至第n行行尾
- 【0】 : 光标移至第n行行首
3. 删除命令
在编辑模式下,需对程序进行编辑修改时的常用操作
- 【x】 : 删除光标所在处的字符
- 【nx】 : 删除光标所在处后面的n个字符
- 【dd】 : 删除光标所在行
- 【ndd】 : 删除光标所在行后的n行(包括光标所在行)
- 【dG】 : 删除光标所在行后的所有内容(包括光标所在行)
- 【D】 :删除光标所在字符到该行尾的内容
- 【: n1 , n2d】 : 删除制定范围的行(如:删除第12行到第56行,可表示为【:12,56d】)
4. 复制和剪切命令
- 复制
- 【yy】: 复制当前行
- 【nyy】: 复制当前行以下n行
- 剪切
- 【dd】: 剪切当前行
- 【ndd】: 剪切当前行以下n行
- 粘贴
- 【p】: 粘贴在当前光标行的上行
- 【P】: 粘贴在当前光标行的下行
5. 替换和取消命令
- 【r】: 取代光标所在处字符。(点击 r ,再点击需替换的字符 )
- 【R】: 从光标所在处开始替换字符,直到按Esc结束(点击R,开始替换,直到按Esc结束)
- 【u】: 取消上一步操作(相当于返回上一步)
6. 搜索和搜索替换命令
- 【/string】: 搜索指定字符串。搜索时,若忽略大小写【: set ic】,若区分大小写【:set noic】
- 【n】: 搜索指定字符串的下一个位置出现
- 【:%s/old/new/g或c】: 全文替换,/s指全文替换,将old替换为new,/g意思是直接替换,而/c是每次替换时咨询是否替换
- 【:n1,n2s/old/new/g或c】: 在一定范围内替换字符串,n1,n2为起始行,将old替换为new。
7.保存和退出命令
- 【:w】: 保存修改
- 【:w new_filename】: 另存为指定文件
- 【:wq】: 保存修改并退出
- 【ZZ】: 快捷键,保存修改并退出
- 【:q!】: 不保存修改退出
- 【:wq!】: 保存修改并退出(文件所有者及root可使用,一般不用)