Vim常用的基本操作
2018-01-19 09:24
453 查看
1. vim的三种模式
vim有三种模式,不同的模式对应着不同的操作,完成不同的功能;这三种模式分别是:一般模式,编辑模式和命令模式。一般模式:当我们使用vim打开文件时,就处于一般模式,一般模式是三种模式中的桥梁,也就是说可以从一般模式切换到命
令模式或者编辑模式,但命令模式和编辑模式之间的切换必须经过一般模式,即先切换到一般模式,然后再进入另一种模式,编
辑模式和命令模式之间是无法直接切换的。如何从另两种模式进入一般模式呢?按ESC即可。
编辑模式:可以对文件的内容进行编辑操作,比如增加、删除和修改,就像使用notepad编辑文件一样;从一般模式进入编辑
模式的命令主要有:i, I, a, A, o, O, s, S;(后面会详解)。
命令模式:该模式下主要是用于文件的保存退出,从一般模式进入命令模式的方法是:冒号(:)。
2. 一般模式下的常用操作:
2.1 光标移动
h, j, k, l: 向左、下、上、右移动一个字符;前面加上数字n,表示移动n个字符,如3j表示向下移动三个字符,即三行; b, B: 表示begin,从字符所在的单词开始,b表示移动到前一个短单词的第一个字符处;B表示移动到前一个长单词的第一个字符处,两个空白之间的单词为一个长单词,比如hello how're you, how,'和re分别为三个短单词,但只是一个长单词; e, E: 与b, B类似,从字符所在的单词开始,分别向后移动一个短单词、长单词; (, ): 从光标所在的语句块开始,(表示移动到前一个语句块,)表示移动到后一个语句块; {, }: 从光标所在的段落开始,{表示向前移动一个段落,}表示向后移动一个段落;可以理解为从一个空行移动到前一个或者后一个空行; %: 跳转到匹配的(, ), {, }, [, ] CTRL+f: 屏幕向下翻页,相当于PgUp; CTRL+b: 屏幕向上翻页,相当于PgDn; 0: 移动到光标所在行的第一个字符处; $: 移动到光标所在行的最后一个字符处; ^: 移动到光标所在行的第一个非空字符处; gg: 移动到文件的第一行(且是第一个字符处); G: 移动到文件的最后一行(且是第一个字符处); 数字n+G: 表示移动到第n行,如5G,表示移动到文件的第5行; 说明:以上这些命令非常常用,熟记的同时要熟练; 数字n+空格space: 表示向右移动n个字符,即n+space,等价于nl; 数字n+回车Enter: 表示向下移动n行,等价于nj;
2.2 查找替换
/word: 从光标所在处向下搜索关键字word; ?word: 从光标所在处向上搜索关键字word; n: 向下搜索,查找下一个匹配项; N: 向上搜索,查找上一个匹配项; *:对光标所在的单词,向下查找; #: 对光标所在的单词,向上查找; 说明:一般情况下,/word和n、N配合完成查找,而?word用得较少; :n1,n2s/src/dest/g: 在n1行到n2行之间(包括n1行和n2行),查找src,并将所有的src替换成dest; :1,$s/src/dest/g: 查查找范围为第一行到最后一行,将所有的src替换为dest,只是在替换时会有确认; :.,$s/src/dest/g: 查找范围为当前行到最后一行,将所有的src替换为dest;(因为在命令模式下,.表示当前行)
2.3 删除、复制与粘贴
x, X: x表示删除光标后的一个字符,X表示删除光标前的一个字符,前面可以加上数字n,表示删除n个字符, 即nx, nX; dd: 表示删除光标所在的行,前面带上数字n,表示删除当前行往下的n行(包括当前行); d$: 表示删除光标所在的位置到该行的最后一个字符; d0: 表示删除光标所在的位置到该行的第一个字符处; d^: 表示删除光标所在的位置到该行的第一个非空字符处; D: 删除光标所在字符到该行最后一个字符,等价于d$; dt+字符c: dt后接一个字符c,表示从光标所在字符开始,删除该行的字符知道遇到第一个为c的字符为止,如果在该行,光标所在字符后不存在字符c,则什么也不做; dG: 表示删除当前行到最后一行; dgg: 表示删除当前行与第一行; dnG: 表示删除当前行与第n行; yy: 复制光标所在那一行的内容; yG: 复制光标所在行与最后一行之间的内容; ygg: 复制光标所在行与第一行之间的内容; ynG: 复制光标所在行与第n行之间的内容; y$: 复制光标所在的字符到该行的最后一个字符; y0: 复制光标所在的字符到该行的第一个字符; y^: 复制光标所在的字符到该行的第一个非空字符; p, P: p表示将复制的数据粘贴在光标所在行的下一行;P表示将复制的数据粘贴在光标所在行的上一行; 说明:如果复制的内容是以行为单位,则p和P就粘贴在当前行的下一行或上一行,如果复制的内容是以字符为单位,即针对y$, y0或者y^,p和P会粘贴在光标的后面。 u: 复原上一个操作,类似于word中的还原; CTRL+r: 重做上一个操作; .: 重复前一个动作;相当于重新执行一遍前一个操作,比如前一个操作时dd,则.命令会再执行一遍dd; r,R: r表示替换光标所在字符,R表示替换光标所在字符及其后的字符,直到按ESC为止;
2.4 块选择
v: 字符选择,从光标所在字符开始,配合h, j, k, l进行字符的选择; V: 行选择,将光标经过的行选中; CTRL+v: 块选择,从光标所在字符开始,选中块; y: 复制选中的内容; p: 粘贴选中的内容;
3. 编辑模式下的常用操作
在编辑模式下,就是对文件的内容进行增删改,没有特殊的操作,光标的移动还是得进入到一般模式; 从一般模式进入编辑模式的命令有: i, I: i表示在光标所在字符之前插入,I表示在光标所在行的第一个非空字符前插入; a, A: a表示在光标所在字符之后插入,A表示在光标所在行的最后一个非空字符后插入; o, O: o表示在光标所在行的下一行插入,O表示在光标所在行的上一行插入; s, S: s表示删除光标所在字符并进入插入模式,S表示删除光标所在行并进入插入模式; 说明:s和S使用地稍微较少一些; CTR+n或者CTRL+p: 在编辑模式下,输入一些文字后,按CTRL+n或者CTRL+p可以出现提示文字;
4. 命令行模式下的常用操作
4.1 保存退出
:w 保存文件内容,但不退出; :q 退出vim;如果文件内容没有被修改,则直接退出,如果文件内容修改了但没有保存,则会提示先保存后退出; :q! 强制退出vim;如果修改过文件但是没有保存,则不保存且强制退出; :e! 将文件恢复到最原始的状态,即上次保存的状态; :wq 保存后退出; :x 保存后退出; 说明:其实最常用的命令当属:w, :q, :x,如果是有意的修改,则应该随时注意保存,即:w,离开时尽量使用:q,如果是有意修改,应该已经保存了,如果作了无意修改,则会提示,比较安全,只有在修改完之后,确定保存并离开,可以使用:x,不过还是尽量少用;
4.2 文件读写
:w filename 将文件的内容另存为另一个文件 :n1,n2 w filename 将文件的n1和n2行之间的内容另存为另一个文件; :w>>filename 将文件内容追加到另一个文件中; :r filename 将另一个文件的内容读入到光标所在的下一行; :f 显示当前文件的文件名
4.3 其它常用
:set nu 显示行号 :set nonu 隐藏行号 :set hlsearch 查找时高亮显示匹配项 :set nohlsearch 查找时不高亮显示匹配项 说明:以上命令一般写入vim的配置文件里,这样就不需要每次都调这些命令了。
5. 多文件及分屏编辑
:r filename命令可以读入整个文件的内容,但如果指向复制或者重用另一个文件的部分内容,怎么办呢?可以使用多文件编辑或者分屏编辑; 多文件:vim后接多个文件名,则可以在一个vim里打开多个文件,可以进行文件间的编辑; :n 显示下一个文件; :N 显示上一个文件; :f 显示当前文件的文件名; :files 显示所有的文件名; 说明:这样,可以从一个文件里复制部分内容,然后切换到另一个文件,将文件内容粘贴,实现多文件的编辑; 分屏:在一个屏幕上同时显示多个文件的内容,可以对照着编辑,很方便; 分屏显示有两种方式: [1] 先使用vim打开一个文件,然后在命令行模式下可输入的命令有: :sp filename 读入另一个文件,两个文件分水平的上下两屏来显示;如果不跟文件名,则新屏里也显示当前文件的内容; :vsp filename 或者 :vsplit filename 读入另一个文件,两个文件分垂直的左右两屏来显示;如果不跟文件名,则新屏里也显示当前文件的内容; 分屏之后的常用命令有: CTRL+w,[h,j,k,l]: 如果是横屏,则CTRL+w,j表示光标移入下方的屏,CTRL+w,k表示光标移入上方的屏;CTRL+w,h表示光标移入左侧的屏,CTRL+w,l表示光标移入右侧的屏; CTRL+w,w: 表示在两个屏之间来回切换; 说明:CTRL+w,h的按键方式为:同时按下CTRL和w,放开或不放开都行,然后按下h; CTRL+w,=: 表示将两个屏幕的宽度调整为相等; [2] vim启动的时候同时打开多个文件: $ vim -On file01 file02 分垂直两屏显示两个文件; $ vim -on file01 file02 分水平两屏显示两个文件;
相关文章推荐
- 【Linux基本操作】系列02:vim的常用操作
- Vim基本操作命令及常用快捷键
- vim基本操作及其常用指令
- 自己常用的vim基本操作
- Linux笔记--vim的基本常用操作总结
- linux 最常用编辑器 —— vim 基本操作
- [Vim] Vim 常用基本操作
- Linux下vim基本操作和清空文件内容的常用方法
- vim的常用操作
- [Linux]Vim基本操作
- Android的基本常用的短信操作
- vim基本操作与配置
- C语言基本概念笔记《七》之文件及操作文件的常用函数
- MongoDB 常用基本操作
- 常用的SQL*PLUS命令 ,SQL缓冲区操作和最基本的脚本操作(从实践中学习Oracle SQL-第三章)
- 6、vim常用操作
- Python SQLAlchemy基本操作和常用技巧
- SQLAlchemy基本操作和常用技巧
- Linux下MySQL数据库常用基本操作
- MySQL5.0常用操作基本操作