一般模式可用的按钮说明,光标移动、复制粘贴、查找替换

移动光标的方法

  • h或向左箭头:光标向左移动一个字符(常用)

  • j或向下箭头:光标想下移动一个字符(常用)

  • k或向上箭头:光标向上移动一个字符(常用)

  • l或向右箭头:光标向右移动一个字符(常用)

ps:如果想要进行多次移动,例如向下移动30行,可以使用30j或30↓

  • ctrl + f或page down:屏幕向下移动一页(常用)

  • ctrl + b或page up:屏幕向上移动一页(常用)

  • ctrl + d:屏幕向下移动半页

  • ctrl + u:屏幕向上移动半页

  • +:光标移动到非空格符的下一行

  • -:光标移动到非空格符的上一行

  • n<space>:光标会向右移动这一行的n个字符

  • 0或[home]:移动到这一行的最前面字符(常用)

  • $或[end]:移动到这一行的最后面字符处(常用)

  • H:光标移动到这个屏幕最上方那一行的第一个字符

  • M:光标移动到这个屏幕的中央那一行的第一个字符

  • L:光标移动到这个屏幕最下方的那一行的第一个字符

  • G:移动到这个文件的最后一行(常用)

  • nG:移动到这个文件的第n行

  • gg:移动到这个文件的第一行(常用)

  • N[enter]:光标向下移动n行

查找和替换

  • /word:向下查找一个名称为word的字符串(常用)

  • ?word:向上查找一个名称为word的字符串(常用)

  • n:重复前一个查找的操作(常用)

  • N:“反向”进行前一个查找操作(常用)

  • :n1,n2s/word1/word2/g:n1与n2位数字。在第n1行和n2行之间查找word1这个字符串,并将该字符串替换为word2(常用)

  • :1,$s/word1/word2/g:从第一行到最后一行查找word1,并将该字符替换成word2(常用)

  • :1,$s/word1/word2/gc:从第一行到最后一行查找word1,并将该字符替换成word2,且在替换前显示提示字符给用户确认是否需要替换(常用)

删除、复制和粘贴

  • x,X:在一行字当中,x为向后删除一个字符(相当于[del]),X为向前删除一个字符(相当于[backspace])(常用)

  • nx:连续向后删除n个字符

  • dd:删除光标所在那一行(常用)

  • ndd:删除光标所在的向下n行(常用)

  • d1G:删除光标所在行到第一行的所有数据

  • dG:删除光标所在行到最后一行的所有数据

  • d$:删除光标所在处到该行最后一个字符

  • d0:删除光标所在处到该行第一个字符

  • yy:复制光标所有的那一行(常用)

  • nyy:复制光标所在的向下n行

  • y1G:复制光标所在行到第一行的所有数据

  • yG:复制光标所在行到最后一行的所有数据

  • y0:复制光标所在的那个字符到该行行首的所有数据

  • y$:复制光标所在的那个字符到该行行尾的所有数据

  • p,P:p为将已复制的数据在光标下一行粘贴,P为粘贴在光标上一行

  • J:将光标所在行与下一行的数据结合成一行

  • c:重复删除多个数据,例如向下删除10行,[10cj]

  • u:复原前一个操作(常用)

  • ctrl + r:重做上一个操作(常用)

  • .:重复上一个操作(常用)

一般模式切换到编辑模式的可用按钮说明

  • i,I:进入插入模式,i为从目前光标所在处插入,I为从目前所在行的第一个非空格符除开始插入(常用)

  • a,A:进入插入模式,a为目前光标所在的下一个字符开始插入,A为光标所在行的最后一个字符处开始插入(常用)

  • r,R:进入替换模式,r只会替换光标所在的那一个字符一次;R会一直替换光标所在的文字,直至按下esc(常用)

  • [esc]:退出编辑模式,回到一般模式(常用)

一般模式切换到命令行模式的可用按钮说明

命令行的保存、离开等命令

  • :w:将编辑的数据写入硬盘文件中(常用)

  • :w!:若文件属性为“只读”时,强制写入该文件。不过,到底能不写入,取决于跟你对文件的文件权限有关

  • :q:离开(常用)

  • :q!:若曾修改过文件,又不行储存,使用"!"为强制离开不保存(常用)

  • :wq:保存后离开(常用)

  • :wq!:强制保存后离开(常用)

  • ZZ:若文件没有改动,则不保存离开,若文件已经被改动过,则保存后离开

  • :w [filename]:将编辑的数据保存成另一个文件(常用)

  • :r [filename]:将[filename]这个文件的内容加到光标所在行的后面

  • n1,n2 w [filename]:将n1到n2的内容保存成[filename]

  • :! [command]:暂时离开vi到命令行模式执行command的显示结果。例如 :! ls /home 即可在vi当中查看/home下面以ls输出的文件信息

vim环境的更改

  • set nu:显示行号

  • set nonu:不显示行号


最后贴一张图,可以用来大概复习一下常用命令

\vim-commands.jpg


参考网站:


Vim

登陆发表评论