【Linux】<1>vim程序编辑器

一,常用命令

<1>一般模式:


光标移动:

  • h,j,k,l四个键可以将光标进行上下左右移动,若想多次移动,加上相应数字即可,例如:向下移动30行,使用“30j”
  • [ctrl]+[f]:屏幕向下移动一页,相当于[page down]
  • [ctrl]+[b]:屏幕向上移动一页,相当于[page up]
  • [n]+[space]:光标向右移动这一行的n个字符
  • 0或[home]:光标移到这一行最前面字符处
  • $或[end]:光标移到这一行最后面字符处
  • G:光标移动到文件最后一行
  • nG:光标移动到这个文件的第n行
  • gg:光标移动到这个文件的第一行
  • n[Enter]:光标向下移动n行,n为数字

查找与替换:

  • /word:向下查找一个名称为word的字符串。例如要在文件内查找liubo,输入/liubo即可
  • ?word:向上查找一个名称为word的字符串
  • n:英文按键,表示重复前一个查找的操作。例如:输入/liubo后,按下n会向下继续查找下一个名称为liubo的字符串
  • N:英文按键,表示“反向”进行前一个查找操作

删除复制与粘贴:

  • x,X:在一行字中,x为向后删除一个字符,X为向前删除一个字符
  • nx:连续向后删除n个字符
  • dd:删除光标所在的那一整行
  • ndd:删除光标所在的向下n行
  • d1G:删除光标所在到第一行所有数据
  • dG:删除光标所在到最后一行所有数据
  • yy:复制光标所在哪一行
  • nyy:复制光标所在的向下n行
  • p,P:p为将已复制的数据在光标下一行粘贴,P则为粘贴在光标上一行
  • u:复原前一个操作
  • [ctrl]+r:重做上一个操作

<2>编辑模式:


  • r,R:进入替换模式,r只会替换光标所在的哪一个字符一次,R会一直替换光标所在的文字,直到按下[ESC]
  • a,A:a为从当前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入
  • o,O:o为在目前光标所在的下一行插入新的一行,O为在目前光标的上一行插入新的一行

<3>命令行模式:


  • :w:将编辑的数据写入硬盘文件中
  • :w!:若文件属性为“只读”时,强制写入该文件。不过到底能否写入,还与操作者对该文件的权限有关
  • :q:离开vim(vi)
  • :q!:若修改过文件并且不想存储,使用“!”为强制离开不保存文件
  • wq:保存后离开,“wq!”为强制保存后离开
  • :w[filename]:将编辑的数据保存成另一个文件
  • :r[filename]:在编辑的数据中,读入另一个文件的数据,即将“filename”这个文件的内容加到光标所在行后面
  • :n1,n2 w[filename]:将n1到n2的内容保存成filename这个文件
  • :! command:暂时离开vim到命令行模式下执行command的显示结果。例如:“!ls/home”即可在vim中查看/home下面以ls输出的文件信息
  • set nu:显示行号
  • set nonu:取消行号

二、vim的保存文件,恢复与打开时的警告信息


在使用vim编辑文件filename时,vim会在被编辑的文件的目录下再新建一个名为filename.swp的暂存文件。对filename文件做的操作会被记录到filename.swp中。当系统因为某些原因断线(或者其他一切包括人为的原因)导致编辑的文件没有保存就退出了编辑,这个filename.swp文件就可以帮助恢复原有的未操作完的文件。当vim不正常终端时,暂存盘无法通过正常流程结束,暂存文件不会消失,若继续编辑filename文件,vim会判断这个文件有问题,提示你选择解决的方法。
例如当你在编辑文件man_db.conf时在当前目录会同时产生一个man_db.conf.swp的文件,当vim不正常结束后,你再次打开该文件就会出现以下界面

【Linux】<1>vim程序编辑器