Linux笔记:vim使用

Vim在Linux中是一个简单却又强大的文本编辑器,可以用来创建、编辑和查看一个文本。本文只是简单介绍下,更多用法还得个人多使用练习才行。


Vim通常分为三种模式:
命令模式:刚打开Vim时就默认进入命令模式,此时所有的键盘敲击都会被识别为命令而不是字符输入,而编辑器则处于等待用户输入命令的状态。
输入模式:即插入模式,通常使用此模式来编辑文本,当按下Esc键时自动退出输入模式,并进入命令模式。
底线命令模式:在命令模式中输入冒号:就可以进入底线命令模式了,输入命令后回车即可执行对应的命令并退出底线命令模式,当按下Esc键时也会自动退出底线命令模式,并进入命令模式。

 

命令模式中常用的命令有:

  • a/A:a表示在光标所在字符后插入,A表示在光标所在行尾插入,此时进入输入模式。
  • i/I:i表示在光标所在字符前插入,I表示在光标所在行首插入,此时进入输入模式。
  • o/O:o表示在光标所在行下插入新行,O表示在光标所在行上插入新行,此时进入输入模式。
  • gg:定位到第一行。
  • G:定位到最后一行。
  • [n]G:表示定位到第n行,如先按下数字88(并不会在屏幕上显示出来你的按键),再按下G就会跳转到第88行,效果同底线命令模式的命令“:88”。
  • $:光标移动至行尾。
  • 0:光标移动至行首。
  • x:删除光标所在处的字符。
  • [n]x:删除光标所在处后的n个字符。
  • dd:删除(剪切)光标所在行。
  • [n]dd:删除(剪切)光标所在行及之后的共n行。
  • dG:删除光标所在行到文件末尾的所有内容。
  • D:删除光标所在处到文件末尾。
  • yy:复制当前行。
  • [n]yy:复制当前行及以下n行。
  • p/P:粘贴在光标所在行的下面或上面。
  • r:替代光标所在处的字符。
  • R:进入替换状态,从光标所在处开始替换字符,按Esc结束。
  • u:取消上一步操作。
  • /[string]:搜索指定的字符串,然后回车,按n可以查看下一个搜索结果。但默认是区分大小写的,想要不区分大小写,需要执行一个底线命令模式的命令“:set ic”,反之,又想区分大小写了,执行“:set noic”。
  • ZZ:快捷键,保存修改并退出。

 

底线命令模式中常用的命令有(省略了冒号:):

  • set nu:设置行号。
  • set nonu:取消行号。
  • [n]:定位到第n行,如“:50”表示定位到50行。
  • [n1],[n2]d:删除n1到n2行的所有内容。
  • set [ic/noic]:不区分大小写和区分大小写。
  • %s/[old]/[new]/[g/c]:在全文中将old字符串替换为指定的new字符串,g表示执行时不询问,c表示执行时询问。
  • [n1],[n2]s/[old]/[new]/[g/c]:在指定范围n1到n2行之间将old字符串替换为指定的new字符串,g表示执行时不询问,c表示执行时询问。
  • w:保存修改。
  • w newfilename:另存为指定文件。
  • wq:保存修改并退出。
  • q!:不保存修改并退出。
  • wq!:保存修改并退出(文件所有者和root可使用),当修改了权限为只读的文件时,只使用:wq是不能保存的,这时候可以使用:wq!强行保存修改。

 

Vim更多技巧

最前面的冒号表示底线命令模式:

  • :r [filename]:将其他文件的内容从光标所在处导入到本文件中。
  • :![命令]:在不退出Vim的情况下执行命令。
  • :r ![命令]:将一个命令的执行结果导入从光标所在处导入到本文件中。
  • :[n1],[n2]s/^/#/g:连续多行注释(即将所有行的行首都替换为#,^表示行首,其他语言的注释同理替换即可)。
  • :[n1],[n2]s/^#//g:取消多行的行首注释(即将所有行的行首的#替换为空字符,^表示行首,其他语言的注释同理替换即可)。

 

Linux笔记:vim使用

上一篇:如何在服务器上设置业务进程数?


下一篇:Linux教程(1)软件的安装与卸载