一、三种模式
- 一般模式
刚开始进入一个文件时的模式,可以进行查看、删除、复制、粘贴等操作,但是无法进行具体的编辑 - 编辑模式
一般模式中,按下 i、I、o、O、a、A、r、R 任意一个进入编辑模式,此时左下角会出现INSERT或REPLACE字样。按ESC退出到一般模式。 - 命令模式(尾行模式)
一般模式中,输入 : 、/、?等三个字符进入命令行模式。此模式下进行数据的查找、替换、保存、设置参数、退出vim的操作
二、常用命令
1. 一般模式
-
跳转:
上下左右
字符移动
w
跳到下一个字首
^
光标跳转到行首
$
光标跳转到行尾
gg
跳转到第一行的第一个字符
G
跳转到最后一行的第一个字符
[n]G
到第n行 -
复制:
yw
复制一个word
y$
复制光标所在位置到本行行位
yy
复制光标所在的这一行
[n]yy
复制光标所在开始数的下面n行 -
粘贴:
p
粘贴内容到光标所在行的下方
P
粘贴内容到光标所在行的上方 -
删除:
x
向后删除一个字符
X
向前删除一个字符
dw
向后删除一个word
dd
删除光标所在行
[n]dd
删除光标所在行开始,往后数的n行
dG
删除光标所在行后面的所有行 -
撤销
u
-
重做
ctrl + r
2. 命令模式
-
查找:
/关键词
回车向后搜索字符串,按n键寻找下一个,N上一个
?关键词
回车向前搜索字符串,按n键寻找下一个,N上一个 -
替换:
:%s/old/new/g
将所有old替换为new,无提示
:%s/old/new/gc
将所有old替换为new,有提示,逐个 -
设置行号:
:set nu
-
取消行号:
set nonu
-
设置自动缩进:
:set autoindent
-
取消自动缩进:
set autonoindent
-
分隔窗口:
:sp foo
并加载foo到新窗口。新打开的文件再上层窗口 -
切换窗口:
ctrl + w w
-
保存退出
:w
保存
:w!
强制保存
:q
退出,若有修改,会有提示
:q!
强制退出,放弃修改
:wq
保存并退出
:wq!
强制保存并退出 -
高亮匹配词:
:set hlsearch
三、vim的相关文件
- 配置文件
~/.vimrc
文件可保存默认配置,不用每次都设置
set hlsearch # 搜索高亮
set number # 显示行号
set autoindent # 自动对齐,把当前行的对齐格式应用到下一行(自动缩进)
set ruler # 在编辑过程中,在右下角显示光标位置的状态行
set showmode # 开启模式显示
syntax on # 语法高亮度显示
- 编辑历史记录文件
~/.viminfo
该文件中包含了当前用户的编辑记录