n G 定位到第n行
n Enter 向下移动n行
Enter 下移一行
D 删除光标到行尾的所有字符
dd 删除整行
n Space 光标右移n个字符
Space 光标右移
Ctrl + F 向下翻页
Ctrl + B 向下翻页
U 撤销
Ctrl + R 对撤销的撤销
:e! 放弃对文件的所有更改,回到刚刚打开的状态
/word 向后查找
?word 向前查找
x 向后删除一个字符
X 向前删除一个字符
1G 定位到第1行
d1G 删除光标所在行到第一行
dG 删除光标所在行到最后一行
n1,n2w filename 将文件的n1到n2行另存为名为filename的文件
w filename 另存为
:wq = :x 保存并退出
:r file 将file的内容读到当前文件
:!command 临时执行命令
v 区域选择
V 行选择
Ctrl + V 列模式
0 定位到行首
$ 定位到行尾
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出当前vim打开的所有文件
:sp flie 打开一个新窗口,如果加上file,表示在新窗口打开一个新文件,否则两个窗口同时打开一个文件
Ctrl + wj 先按住Ctrl+W,松开之后按J光标移动到下方的窗口
Ctrl + wk 先按住Ctrl+W,松开之后按K光标移动到上方的窗口
- 编辑操作
- x: 删除光标所在处的字符
#x: 删除光标所在处开始向后的#个字符(#是整数,下同)
r: 替换光标所在处的字符
d: 删除命令
结合各光标跳转命令使用
d0 d^ d$ dw db de
dd: 删除一行
#dd:删除多行 - c: 改变
cc:删除光标所在行,并且进入输入模式
#cc:删除多行,并且进入输入模式
c$:删除光标所在位置到行尾,并且进入输入模式 - y: yank, 复制
yy:复制整行
#yy:复制多行 - p: paste, 粘贴
复制或删除的是整行
- p: 粘贴在光标所在行的下方
- P: 粘贴在光标所在行的上方
复制或删除的为非整行
- p: 粘贴在光标所在字符的后面
- P:粘贴在光标所在字符的前面
- x: 删除光标所在处的字符
窗口属性的定义
:set nu 显示行号
:set nonu 不显示行号:set ai 设置自动缩进
:set noai 不自动缩进:set ic 忽略大小写
:set noic 不忽略大小写显示对应的括号
:set sm (show match)
:set nosm语法高亮
:syntax on
:syntax off搜索高亮
:set hlsearch
:set nohlsearch
查找
- /keyword
- ?keyword
- n:切换到查找到的下一个
- N:切换到查找到的上一个
编辑模式–>输入模式
- i: 在当前光标所在处输入
- I: 在当前光标所在行的行首输入
- a: 在当前光标所在处后面输入
- A:在当前光标所在行的行尾输入
- o: 在光标所在行的下方新增一个空白行输入
- O:在光标所在行的上方新增一个空白行输入
输入模式–>编辑模式
ESC- 编辑模式–>末行模式
: 末行模式–>编辑模式
ESC, ESC光标移动
单字符移动:
h: 左
l: 右
j: 下
k: 上单词间移动:
w: 下个单词的词首;
b: 当前或前一个词的词首
e: 当前或下一个词的词尾行内移动:
0: 绝对行首
^: 第一个非空白字符
$: 绝对行尾句子间移动:
)
(段落间移动:
}
{行间移动:
#G
G:最后一行
1G|gg: 第一行
退出
- :q!, 不保存并退出
- :wq, 保存并退出
- :x, 保存并退出
- 编辑模式:ZZ, 保存退出