vim的使用
简介
vim是文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。下面讲述一些必要的基本命令,而掌握好这些命令,您就能够很容易将vim当作一个通用的万能编辑器来使用了。
vim自带基础教程:在任意一台装有vim的机器上,命令行中输入vimtutor 然后就可以看到文档了。
安装编译环境
sudo apt-get install vim(Ubuntu系统)
配置vim:vim ~/.vimrc
在配置文件根据使用需要中输入以下指令:
配置完成后,按esc后 再键入:wq!,执行保存并退出命令。
vim拥有3种模式:
普通模式:
打开vim的时候,默认处于普通模式(该模式下无法进行编程。)
- 在编辑状态 下按esc可以退回普通模式
- 按u-可以撤销
- d’n’d-从当前光标位置向下剪切n行(注意包含当前光标位置行)
- p-粘贴复制或者剪切的内容
- y’n’y-从当前位置向下复制n行(包括当前光标位置行)
编辑模式:
在编辑模式下,可以进行正常的编程。我们可以在普通模式下按i,a,o进入编辑模式,
- i:从当前光标位置的前一个位置进入编辑模式-infront of
- a:从当前光标位置的后一个位置进入编辑模式-after
- o:从当前光标位置的下一行进入编辑模式
命令模式:
在普通模式下,按:进入命令模式
- w-保存当前文件
- q-退出当前文件(如果此时文件被标记为已修改却没有保存,则系统默认禁止退出vim).所以此时如果需要保存并退出 ,使用命令wq。
- !:强制执行命令。如果我们并不想保存之间的文件 修改,则可以使用q!来执行强制退出指令。
- /内容:这是一个查找的指令。系统会从光标位置当前行向下查找和内容一致的代码。
- ?内容:系统会从当前光标位置向上查找和内容一致的代码。
vim操作方法
移动光标(vim命令模式下使用)
①使用上下左右方向键
②命令模式下:
- H:向左
- j:向下
- k:向上
- l:向右。
- 空格键:向右
- Backspace:向左
- Enter:移动到下一行首
- -:移动到上一行首。
删除、恢复字符或行(vim命令模式下使用)
- x:删除当前字符
- nx:删除从光标开始的n个字符
- dd:删除当前行
- ndd:向下删除当前行在内的n行
- u:撤销上一步操作
- U:撤销对当前行的所有操作
搜索(vim命令模式下使用)
- /cszhi:向光标下搜索cszhi字符串
- ?cszhi:向光标上搜索cszhi字符串
- n:向下搜索前一个搜素动作
- N:向上搜索前一个搜索动作
跳至指定行(vim底行模式下使用)
- n+:向下跳n行
- n-:向上跳n行
- nG:跳到行号为n的行
- G:跳至文件的底部
复制、粘贴(vim命令模式下使用)
- Yy:将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务
- nyy:将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务
- yw:复制从光标开始到词尾的字符
- nyw:复制从光标开始的n个单词
- y^:复制从光标到行首的内容
- y$:复制从光标到行尾的内容
- p:粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴
- P:粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴
替换(vim命令模式下使用)
- 😒/old/new:用new替换行中首次出现的old
- 😒/old/new/g:用new替换行中所有的old
- :n,m s/old/new/g:用new替换从n到m行里所有的old
- :%s/old/new/g:用new替换当前文件里所有的old
滚屏
- ctrl+u\d:向上\下滚动半屏
- ctrl+e\y:向上\下滚动一行
- ctrl+b\f:向上\下滚动一屏