前言: vi/vim介绍
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、 windows。我们课堂上,统一按照vim来进行讲解。
一、vim的基本概念
vim有许多种模式,但我们通常只需要掌握三种模式就行,它们分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1> 正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
2> 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
3> 底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift + : 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入‘
二、vim的基本操作
1.命令模式
vim打开自动进入命令模式,如在其它模式中,按Esc键即可退入命令模式
n+yy | 连续复制n行 |
n+p | 粘贴到光标的下一行,n:表示把指定内容连续粘贴n次 |
u | 撤销 |
ctrl+r | 对历史撤销 |
n+dd | 剪切指定行,n:剪切连续的n行 |
shift+4=$ | 将光标定位到当前行的末尾 |
shift+6=^ | 将光标定位到当前行的开头 |
gg | 将光标定位到当前文本的最开头 |
shift+g=G | 将光标定位到当前文本的最后一行 |
n+shift+g=nG | 将光标定位到当前文本的第n行 |
h,j,k,l | 左,下,上,右,也可以带n |
w | 按照单词为单位进行光标后移 |
b | 按照单词为单位进行光标前移 |
shift+`=~ | 在当前文本原地对字母进行大小写快速切换 |
n+x | 删除光标后续的一个字符,可以一次删除n个(一行内) |
n+shift+x = nX |
删除光标之前的一个字符,可以一次删除n个(一行内) |
n+r | 对光标指定的位置,进行一个字符的替换,可以一次替换多个 |
shift+r=R | 进入替换模式,直接进行文本替换 |
2.插入模式
进入插入模式
i | 在当前光标进入 |
a | 在当前光标的下一格进入 |
o | 在当前光标的下一行进入 |
3.底行模式
在命令模式中,按shift+;=: 进入底行模式
w | 保存 |
q | 退出 |
wq | 保存并退出 |
! | 强制 |
set nu/nonu | 打开/去掉行号 |
/关键字 | 搜索 |
!command | 不退出,可以进行shell命令的执行,常用函数的查看 |
vs filename | 分屏,多文件操作 |