vim程序编辑器
《鸟哥的Linux私房菜》学习笔记之vim
vim相关概念
1、模式:vi/vim分为3种模式,分别是:一般命令模式、编辑模式、命令行模式
一般命令模式:vim打开一个文件就直接进入一般命令模式,在一般模式中可以通过方向键移动光标、可以删除字符或删除整行、也可以使用复制/粘贴来处理文件内容
编辑模式:在一般模式按下【i、I、o、O、a、A、r、R】中的任何一个可以进入编辑模式,编辑模式中按下【Esc】可以退回到一般命令模式
命令行模式:在一般模式中输入【:/?】这三个中的任何一个可以进入命令行模式,命令行模式下可以查找数据、读取、保存、批量替换字符、退出vim、显示行号等操作
2、一般命令模式下的常用指令
1)移动光标:
【ctrl】+【f】 | 屏幕“向下”移动一页,相当于【Page Down】 |
【ctrl】+【b】 | 屏幕“向上”移动一页,相当于【Page Up】 |
【0】或者【Home】 | 移动到所在行的最前面 |
【$】或者【End】 | 移动到所在行的最后面 |
【G】 | 移动到文件最后一行 |
【gg】 | 移动到文件第一行 |
n【G】 | 移动到文件的第n行 |
n【方向键】 | 向对应方向移动n位 |
2)查找与替换:
/word | 向光标之下查找word字符串 |
?word | 向光标之上查找word字符串 |
n | 重复前一个查找的操作 |
N | 与n相反,反向查找 |
:n1,n2s/word1/word2/g | 从第n1行到n2行查找word1并将其替换为word2 |
:1,$s/word1/word2/gc | 从第一行到最后一行替换字符串,c代表替换前提示 |
3)删除、复制与粘贴:
x与X | x删除光标后面一个字符,X删除光标前面一个字符 |
nx | 删除光标后面n个字符 |
dd | 删除光标所在行 |
ndd | 向下删除n行 |
yy | 复制光标所在行 |
nyy |
复制光标及以下共n行 |
p与P | p将复制的行在光标下一行粘贴,P将复制的行在光标上一行粘贴 |
u | 恢复上一个操作 |
【ctrl】+r | 重做上一个操作,把u指令退回的操作再返回来 |
. | 重复前一个操作 |
3、一般命令模式切换到编辑模式的可用按键说明
i/I | 进入插入模式,i从光标所在处插入,I光标所在行的第一个非空格符处插入 |
a/A | 进入插入模式,a从光标所在的下一字符插入,A为光标所在的最后一个字符插入 |
o/O | 进入插入模式,o从光标所在的下一行插入新行,O为光标所在行的上一行插入新行 |
r/R | 进入替换模式,r会替换光标所在字符一次,R会一直替换知道输入【Esc】 |
Esc | 退出编辑模式,回到一般命令模式 |
4、一般命令模式切换到命令行模式的可用按键说明
:w | 将编辑的数据保存到硬盘文件中 |
:w! | 若文件为【只读】时,强制写入该文件,具体和权限相关 |
:q | 退出vim |
:q! | 强制退出,不保存 |
:wq | 保存后退出;若为:wq!则强制保存退出 |
:set nu | 设置行号 |
:set nonu | 取消行号 |