1.保存\退出
|
|
:w |
保存 |
:q |
退出 |
:wq或者ZZ |
保存退出 |
:q! |
强制退出 |
2.插入、退出命令
|
|
a |
在光标所在位置之后插入文本 |
A |
在光标所在行的行末之后插入文本 |
i |
在光标所在位置插入文本 |
I |
在光标所在行的行末之前插入文本 |
o |
在光标下方打开新的一行并将光标置于新开的行首,进入插入模式 |
O |
在光标上方打开新的一行并将光标置于新开的行首,进入插入模式 |
R |
进入替换模式 |
ESC |
退出编辑模式 |
3.光标移动
常用:
任何模式下使用方向键移动
|
|
gg |
跳到最初一行 |
G |
跳到最后一行 |
ngg |
跳到n行 |
ctrl+f |
往后翻一页 |
ctrl+b |
往前翻一页 |
小技巧: |
将数字键盘锁了 |
1 |
光标移动本行尾部 |
7 |
光标移动本行开头 |
3 |
往后翻一页 |
9 |
往前翻一页 |
2、4、6、8 |
上下左右 |
0 |
切换替换模式 |
/***
本人不常用:
w — 下一个单词首字母
b — 前一个单词首字母
e — 后一个单词尾字母
nG — n行
:n — n行
ctrl+d ------ 往后半页
ctrl+u ------ 往前半页
^ — 移动到本行第一个非空字符
$ — 移动到本行最后一个字符
***/
4.文本操作
|
|
nyy |
复制光标开始之下n行 |
ndd |
剪切光标开始之下n行 |
p |
粘贴(复制粘贴之后都可以用p) |
u |
撤销上一次操作 |
ctrl+r |
取消撤销 |
复制使用y相关命令:
ynw ------------- 复制光标开始到第n个单词末尾
yG -------------- 复制光标所在行开始到文件末尾
ygg ------------- 复制光标所在行开始到文件开头
y$ -------------- 复制光标开始到本行末尾
y^ -------------- 复制光标之前到本行开头
剪切使用d相关命令
dnw ------------- 剪切光标开始到第n个单词末尾
dG -------------- 剪切光标所在行开始到文件末尾
dgg ------------- 剪切光标所在行开始到文件开头
d$ -------------- 剪切光标开始到本行末尾
d^ -------------- 剪切光标之前到本行开头
x --------------- 剪切光标所在字符
r --------------- 替换光标所在字符
5.底行命令
|
|
:r |
读取其他文件内容到本文件 |
:e |
打开其他文件 |
:vs |
左右分屏 |
:sp |
上下分频 |
:ns/old/new |
在n行内替换头一个字符串 old 为新的字符串 new |
:set xxx |
设置xxx选项 |
?或者/ |
?是向前搜索,/是向后搜索 |
ctrl+~ |
大小写切换 |
>>或者<< |
向左或者右缩进一个tab |
:set 设置
设置显示行号 ----------- set nu
设置自动缩进 ----------- set autoindent
设置C语言风格缩进 ----- set cindent
设置tab键的长度 ------- set tabstop=4
设置缩进长度 ----------- set shiftwidth=4
(以上set命令可以把他们写到主目录下的.vimrc文件中,让每次打开vi后自动生效)
分屏的命令
(使用ctrl + ww可以在多个窗口之间切换)
打开多个文件 --------- vi 文件路径1 路径2 …
:prev --------- 上一个文件
:next --------- 下一个文件(:n)
:first -------- 第一个文件
:last --------- 最后一个文件
搜索替换类底行命令
n ----------- 光标定位到下一个找到的位置
N ----------- 光标定位到上一个找到的位置
/<xxx ------- 在文件中查找以xxx开头的单词
/xxx> ------- 在文件中查找以xxx结尾的单词
/<xxx> ----- 在文件中查找内容为xxx的单词
