Vim编辑器的详细教程
vim编辑器:
文本编辑器:
文本:纯文本信息,ASCII text ,不能有任何修饰信息(颜色,字体,大小)
支持:ASCII码(纯英文),UNICODE(全球统一编码); GBK(中文编码)
文本编辑器分类:
行编辑器:sed
全屏编辑器:vi,nano ,vim
单词:Visual interface ; Vi improved
vim:模式化的编辑器(在不同模式下:按键的功能不一样)
基本模式:
1)编辑模式 :
2)输入模式 :
3)末行模式(内置的命令行接口):
关闭保存:俩个大小的Z
vim [OPTION] file
+# :打开文件后,直接让光标处于第#行行首
+/pattern:打开文件后,直接让光标处于第一个被pattern匹配到的行的行首
模式转换:
1)编辑模式(默认模式):–> 进入输入模式
- i: insert(在光标所在处输入)
- a :append (光标所在处后方输入)
- o :在光标所在处下方打开新的行
- I:(大写i) :在光标所在行的行首输入
- A :在光标所在行行尾输入
- O :在光标所在行的上方打开新的一行
2)输入模式:插入数据 --> 编辑模式
- ESC键
3)末行模式 (非常强大的内置命令行接口)
- 编辑模式—>末行模式 输入冒号:
- 可以输入指令进行一些操作(支持许多负咋操作)
- 末行–>编辑模式 :ESC
关闭文件:
ZZ :保存并退出 (编辑模式下)
:q 退出 (末行模式下)
:wq 保存修改并退出
: x 保存并退出
: w /path/to/somefile (将修改保存到另外的文件中)
光标跳转:
字符间跳转 :前面还可以加数字(代表跳几格)
h: 向左跳一个字符
l :向右跳一个字符
j:向下跳转
k :向上跳转
单词间跳转
w :下一个单词的词首
b :当前或前一个单词的词首
e :当前或后一个单词词尾
行首行尾跳转
^ :跳转到行首的第一个非空字符
0:跳转到绝对行首
& :跳转到绝对行尾
行间跳转
#G: 跳转至第#行行首
1G,gg :跳转到行首
G :跳转到行尾
句间跳转:
)
(
段间跳转:
}
{
翻屏:
Ctrl+f :向文件尾部翻一屏
Ctrl+b :向文件首部翻一屏
Ctrl+d :向文件尾部翻半屏
Ctrl+u :向文件首部翻半屏
k ,j :上下一行行的翻
vim的编辑命令:
字符编辑:
x: 删除光标所在处的字符
#x :删除光标所在处起始的#个字符
xp: 交换光标所在处字符和其后面字符的位置
替换命令
r :替换光标所在处的字符 ,后面再加个字符
删除命令
x :
d :删除命令,可结合光标跳转字符,实现范围删除
d$ :删除当前到行尾
d^: 删除当前到行首
dw :删除一个单词
de:
db:
dd :删除一行
都支持在加个数字 #dd :删除光标所在行其实的供#行(删除的内容都会在缓冲器中–》可以粘贴)
粘贴命令:
p: 缓冲器中的内容如果为整行,则粘贴在当前光标所在行的下方,否则粘贴在光标后方
P: 刚好相反( 上方,前方)
复制命令(yank, y):
y : 复制,工作行为相似于d 命令
y$ :
y^:
ye :
yy :复制一整行
yw :复制一个单词
改变命令(change,c) :
编辑模式—> 输入模式 ; 实现删除操作
cc :删除一行,且转换成插入操作
其他的用法和d 一样
可视化模式:
v : 按字符选定
V :按行选定
结合编辑命令: d c y p
撤销操作:
u : 撤销此前的操作(一般可保持50个)
可结合数字使用
撤销撤销操作:
Ctrl+r :恢复此前的撤销操作
重复执行前一个编辑操作:
. (点号):
vim 自带的练习教程: vimtutor
vim末行模式: (内建的 命令行接口)
编辑模式–>末行模式 :
(1):地址定界
指明 :start_pos[,end_pos]
#: 特定的第#行,例如5 第5行
. :当前行
$:最后一行
#,#:指定行范围,左侧起始,右侧结束
#,+# : 指定行范围,左侧起始,右侧相对偏移量 3,+7
1,$ :全文
% :全文
/pattern/ :第一次被模式匹配到的行