vi/vim -- 编辑器使用命令总结
====================================插入模式===============================
1)进入文本输入(插入)模式
i : 光标之前插入字符
a : 光标之后插入字符
I : 当前行行首插入字符
A : 当前行行尾插入字符
o : 在当前行之下新建一行后,插入字符
O : 在当前行之上新建一行后,插入字符
2)退出插入模式,回到命令模式
ESC
====================================命令模式================================
1)光标位置移动
移至行首:^ 、0
移至行尾:$
移动到指定行:[行号]G
移动到当前行的下n行:[n]回车
移动最后一行:G
左:h 右:l 上:k 下:j
2)翻屏
ctrl+f: 下翻一屏
ctrl+b: 上翻一屏
ctrl+d: 下翻半屏
ctrl+u: 上翻半屏
ctrl+e: 向下滚动一行
ctrl+y: 向上滚动一行
n%: 到文件n%的位置
[行号]zz: 将行移动到屏幕中央
[行号]zt: 将行移动到屏幕顶端
[行号]zb: 将行移动到屏幕底端
2)删除(剪切)
删除一行:dd
删除n行: ndd
删除1个字符:x
删除n个字符:nx
删除从光标位置开始处的单词: dw
删除从光标位置开始至行首: d^ 或 d0
删除从光标位置开始至行尾: d$ 或 D
将光标所在行至第5行删除: d5G
3)复制
复制1行:yy
复制n行:nyy
复制1个单词:yw
复制n个单词: nyw
复制至行首,不含光标标所在处字符 :y^ 或 y0
复制至行尾。含光标所在处字符: y$
4)粘贴
p(小写) : 粘贴到光标之后(新建所在行的下一行,进行粘贴)
P(大写) : 粘贴到光标之前(新建所在行的上一行,进行粘贴)
5)撤销/重做操作
u(小写): 撤销一个编辑动作
U(大写): 恢复一行的原始状态
Ctrl + r :重做上一个被撤销的动作
6)重复上一次操作
.
7)查找
/[内容] : 从头向后找
?[内容] : 从后向头找
n : 按查找顺序方向(/:自上而下,?:自下而上)定位查找到的内容
N : 按查找顺序方向(/:自下而上,?:自上而下)定位查找到的内容
====================================底行模式===============================
1)退出vi编辑器
:q --- 退出未编辑文件
:q! --- 强行退出
:w --- 保存
:wq --- 保存后再退出
:x --- 保存后再退出
:saveas xxxfile --- 另存为文件,文件名为xxxfile
2)行号
:set nu
:set nu! (取消行号显示)
3)设置高亮
:syntax on
:syntax off
4)设置自动缩进
:set autoindent
5)设置tab缩进4个字符
:set tabstop=4
6)复制粘贴
:[起始行号s],[结束行号e]co[行号n] 将s到n行复制到第n行的下一行
7)剪切粘贴
:m[行号n] 将当前行移动到第n行的下一行
:[起始行号s],[结束行号e]m[行号n] 将s到n行移动到第n行的下一行
8)删除行
:[行号]d
:[起始行号],[终止行号]d
9)替换
:s/[被替换内容]/[新内容]/ ------ 当前行替换,只替换第一个匹配
:s/[被替换内容]/[新内容]/g ------ 当前行替换,替换所有匹配
:[起始行号s],[结束行号e]s/[被替换内容]/[新内容]/g ------ s-e行中,替换所有匹配
:%s/[被替换内容]/[新内容]/g ------ 当前文件,替换所有匹配
10)光标移动到指定行
:行号
比如: :1回车 -- 光标移到第1行
:$回车 -- 光标移到最后1行
:n回车 -- 光标移到第n行
12)退出底行模式,回到命令模式
ESC
================================编写vi/vim的配置文件==========================
路径:~/.vimrc ,使每次使用vi/vim时,免除重复设置
内容:
set nu
set ai
set showmatch
syntax on
set autoindent
set cindent
set smartindent
set softtabstop=4
set shiftwidth=4
set tabstop=4
set ff=unix