Vim快速入门
Vim的6种基本模式
常用 普通模式 、插入模式、命令行模式
1. 普通模式(Normal mode)
vim一开始进入就是普通模式
esc
或Ctrl + [
:处于插入模式或者命令行模式,可回退到普通模式
dd
: 删除当前行
第一个
d
后面可以跟其它的移动命令来替换第二个d
dj
: 删除当前行和下一行
2dd
: 和dj
效果是一样的,重复dd
两次
vim filename
: 打开所在目录下的指定文件
vim
: 可以直接打开空的vim,当然进入命令行模式后可以打开相应的文件 :e filepath
普通模式下的游标移动
esc
进入普通模式后 ,利用 h,j,k,l 键可以移动游标
h
左 l
右(小写L) j
下 k
上
w
上一个单词 b
下一个单词
普通模式下删除文本
进入普通模式,使用下列命令可以进行文本快速删除:
命令 | 说明 |
---|---|
x(小写) | 删除游标所在的字符 |
X | 删除游标所在前一个字符 |
Delete | 同x,删除游标所在字符 |
dd | 删除整行 |
d$或D | 删除至行尾 |
d^ | 删除至行首 |
dG | 删除到文档结尾处 |
d1G | 删至文档首部 |
可以在命令前加数字,实现一次删除多行
2dd
表示一次删除2行
2. 插入模式(Insert mode)
a
(append/追加)或i
(insert/插入):都可以从普通模式进入插入模式
按
esc
回到普通模式
使用不同的键从普通模式进入插入模式
命令 | 说明 |
---|---|
i | 在当前光标处进行编辑 |
I | 在行首插入 |
A | 在行末插入 |
a | 在光标后插入编辑 |
o | 在当前行后插入一个新行 |
0 | 在当前行前插入一个新行 |
cw | 替换从光标所在位置后到一个单词结尾的字符 |
3. 可视模式(Visual mode)
4. 选择模式(Select mode)
5. 命令行模式(Command line mode)
:
:从普通模式进入到命令模式
:wq
: 进入命令行模式后输入wq保存并退出
从普通模式输入:
进入命令模式,输入w
再回车,保存文档。
输入:w <filename>
可以将文档另存为其它文件名或者存到其它路径下
命令行模式下退出 vim
普通模式输入:
进入命令行模式,输入wq
回车,保存并退出编辑
以下为其它几种退出方式:
命令 | 说明 |
---|---|
:q! | 强制退出,不保存 |
:q | 退出 |
:wq! | 强制保存并退出 |
:w <filepath> | 另存为 |
:saveas <filepath> | 另存为 |
:x | 保存并退出 |
:wq | 保存并退出 |
普通模式下退出vim
shift + zz
保存并退出vim
6. Ex模式(Ex mode)
:visual
离开Ex模式
vim 文档编辑
vim重复命令
.
在终端窗口代表 当前所在目录的路径
比如:
cp /etc/protocols .
就是把protocols这个文件复制到当前所在的目录下
vim打开文件,在普通模式下,.(小数点)
表示重复上一次的命令操作
x
: 表示删除第一个字符,如果按.
会再次删除一个字符,其它命令的重复的操作也是可以的
执行指定次数相同的命令
进入普通模式输入N<command>
, N表示重复后面的次数:
10x
:删除10个连续字符
3dd
:删除3行文本
在普通模式下,可以用dw
或者daw(delete a word)
删除一个单词,所以dnw
就表示删除n个单词
游标的快速跳转【普通模式】
行间跳转
vim打开文件,进入普通模式
:set nu
如果终端窗口默认没有显示行号,可以进入命令模式,显示行号
nG
/ngg
游标移动到第n行
gg
游标移动到第一行
G
游标移动到最后一行
ctrl + o
快速回到上一次(跳转前)光标所在位置
行内跳转【普通模式】
命令 | 说明 |
---|---|
w | 到下一个单词的开头 |
e | 到当前单词的结尾 |
b | 到前一个单词的开头 |
ge | 到前一个单词的结尾 |
0 或^ | 到行开头 |
$ | 到行结尾 |
f<字母> | 向后搜索<字母>并跳转到第一个匹配的位置(非常实用) |
F<字母> | 向前搜索<字母>并跳转到第一个匹配的位置 |
t<字母> | 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用) |
T<字母> | 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用) |
~ (fn2 + esc)
可以将光标所在位置的字母大小写互换