vi编辑器使用笔记
2019-02-21 本文已影响0人
zhouf_cq
其实我是Emacs的粉,偏爱Emacs(虽然也只是入门而已),网上有很多关于vi/Emacs的争论,其实我觉得没有必要,刀与剑哪有什么高下,取决于使用的大侠
在之前接触Linux的时候就了解过vi,很多教材,课程上都会讲vi的使用,只是后来碰到了Emacs,就渐渐用上了Emacs,最近在研究CloudStack,文本编辑器多是用来改配置文件,为此安装一个Emacs有点庞大,看了一下安装相关的包,差不多有200+M,既然vi也可以用,也是系统自带的编辑器,那就用它吧,轻巧一点,借此机会,重温一下vi
vi的三种基本模式
1、命令模式
2、末行模式
3、编辑模式
行末的命令如下
命令 | 功能 |
---|---|
:w | 保存 |
:q | 退出,没有保存会提示 |
:q! | 不保存退出 |
:wq | 保存退出 |
:x | 保存退出 |
光标移动
h,j,k,l 左下上右
前面可以加数字,如3j向下移动3行
行内移动
命令 | 功能 |
---|---|
w | 向后移动一个单词 |
W | 向后移动按空格分隔的词 |
b | 向前移动一个单词 |
B | 向前移动按空格分隔的词 |
0 | 行首 |
^ | 行首非空白字符 |
$ | 行尾 |
行间移动
命令 | 功能 |
---|---|
gg | 文件起始位置 |
G | 文件结束行首 |
{数字N}gg | 跳转到N行 |
{数字N}G | 跳转到N行 |
屏幕移动
命令 | 功能 |
---|---|
Ctrl + b | 向上翻页 |
Ctrl + f | 向下翻页 |
H | 定位到屏幕第一行 |
M | 定位到屏幕中间行 |
L | 定位到屏幕最后一行 |
HML是要区分大小写的哟
插入命令
命令 | 功能 |
---|---|
i | 在当前字符前插入文本 |
I | 在行首插入文本 |
a | 在当前字符后面插入文本 |
A | 在行末插入文本 |
o | 在当前行后面插入空行 |
O | 在当前行前面插入空行 |
删除文本
命令 | 功能 |
---|---|
x | 删除光标所在字符 |
d(移动) | 删除移动命令hjkl对应的内容,如dl删除右边字符 |
dd | 删除光标所在行 |
D | 删除至行尾 |
文本修改
命令 | 功能 |
---|---|
r | 替换当前光标字符 |
R | 替换当前行光标后的字符 |
cw | 修改当前词,光标到词尾部分 |
cnw | 修改接下来的n个词,从光标处开始 |
先记这些吧,多了一下子也消化不了,vi还有很多功能,如块标记,分屏等,后面有用到时再补充