Vim快速入门
Vim具有6种基本模式和5种派生模式,我们常用到就是普通模式、插入模式和命令行模式,本课程也只涉及这三个常用模式的内容.
三种常用模式的切换
vim启动进入普通模式,处于插入模式或命令行模式时只需要按Esc即可进入普通模式。普通模式中按i(插入)或a(附加)键都可以进入插入模式,普通模式中按:进入命令行模式。命令行模式中输入wq回车后保存并退出vim。
进入Vim
随便书写一些内容后, ESC进入普通模式, 尝试下面的按键.
进入插入模式
可以在普通模式下尝试下面各个命令, 进入插入模式.
保存文档
从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下.
退出Vim
命令模式下尝试下面各个命令. 普通模式下输入Shift+zz即可保存退出vim.
删除文本
进入普通模式,使用下列命令可以进行文本快速删除:
x 删除游标所在的字符
X 删除游标所在前一个字符
Delete 同x
dd 删除整行(2dd表示一次删除2行, 可在dd前添加删除的行数)
dw 删除一个单词(不适用中文)
d$或D 删除至行尾
d^ 删除至行首
dG 删除到文档结尾处
d1G 删至文档首部
Vim文档编辑
Vim重复命令
可以在普通模式下, 在一个命令前添加命令重复执行的次数, 也可以输入英文句号重复上一次命令.
游标的快速跳转
普通模式下,下列命令可以让光标快速调转到指定位置,我们分别讨论快速实现行间跳转和行内跳转.
行间跳转:
技巧: 可以使用 Ctrl+o 快速回到上一次(跳转前)光标所在位置.
行内跳转:
w 到下一个单词的开头
e 到当前单词的结尾
b 到前一个单词的开头
ge 到前一个单词的结尾
0或^ 到行头
$ 到行尾
f<字母> 向后搜索<字母>并跳转到第一个匹配的位置(非常实用)
F<字母> 向前搜索<字母>并跳转到第一个匹配的位置
t<字母> 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用)
T<字母> 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用)
复制/粘贴/剪切
普通模式中使用y复制
普通模式中,yy复制游标所在的整行(3yy表示复制3行)
普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。
普通模式中,y$ 复制至行尾。含光标所在处字符。
普通模式中,yw 复制一个单词。
普通模式中,y2w 复制两个单词。
普通模式中,yG 复制至文本末。
普通模式中,y1G 复制至文本开头。
普通模式中使用 p 粘贴
普通模式中,p(小写)代表粘贴至光标后(下)
普通模式中,P(大写)代表粘贴至光标前(上)
打开文件进入普通模式练习上述命令,这会儿你就可以随意 yy 了。
dd 删除命令就是剪切,你每次 dd 删除文档内容后,便可以使用 p 来粘贴, 交换上下行:ddp.
Vim 查找替换
字符的替换和撤销
替换和Undo命令都是针对普通模式下的操作
r+<待替换字母> 将游标所在字母替换为指定字母
R 连续替换,直到按下Esc
cc 替换整行,即删除游标所在行,并进入插入模式
cw 替换一个单词,即删除一个单词,并进入插入模式
C(大写) 替换游标以后至行末
~ 反转游标所在字母大小写
u{n} 撤销一次或n次操作
U(大写) 撤销当前行的所有修改
Ctrl+r redo,即撤销undo的操作
快速缩进
普通模式下输入>>
整行将向右缩进
普通模式下输入<<
整行向左回退
获取缩进/回退的字符数:set shiftwidth?
设置缩进/回退的字符数:set shiftwidth=10
调整文本居中:ce
, 左对齐:le
, 右对齐ri
.
查找
普通模式下输入 / 然后键入需要查找的字符串 按回车后就会进行查找。 ? 与/ 功能相同,只不过 ? 是向上而 / 是向下查找。 进入查找之后,输入n 和 N 可以继续查找。 n是查找下一个内容,N查找上一个内容。
Vim高级功能
多文件编辑
同时进入多个文件
vim 1.txt 2.txt
默认进入1.txt文件的编辑界面
命令行模式下输入 :n 编辑 2.txt 文件,可以加 ! 即 :n! 强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件命令行模式下输入 :N 编辑 1.txt 文件,可以加 ! 即 :N! 强制切换,之前文件内的输入没有保存,仅仅是切换到另一个文件
进入vim后打开新文件
命令行模式下输入:e 3.txt
打开新文件3.txt
命令行模式下输入:e#
回到前一个文件
命令行模式下输入:ls
可以列出以前编辑过的文档
命令行模式下输入:b 2.txt
(或者编号)可以直接进入文件2.txt编辑
命令行模式下输入:bd 2.txt
(或者编号)可以删除以前编辑过的列表中的文件项目
命令行模式下输入:e! 4.txt
,新打开文件4.txt,放弃正在编辑的文件
命令行模式下输入:f
显示正在编辑的文件名
命令行模式下输入:f new.txt
,改变正在编辑的文件名字为new.txt
选中文本
在普通模式下输入 v(小写),进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下v后就会取消选取。
在普通模式下输入 Shift+v(小写),进入行选择模式,按下V之后就会把整行选取,您可以上下移动光标选更多的行,同样,再按一次 Shift+v 就可以取消选取。
在普通模式下输入 Ctrl+v(小写),这是区域选择模式,可以进行矩形区域选择,再按一次 Ctrl+v 取消选取。
对文档加密
vim -x 文件名
参考资料
[1] 实验楼《Vim 基础入门》