文本编辑器
文本:纯文本
基本模式:命令模式
输入模式
末行模式
内置的命令行接口
打开文件后,直接让光标处于第一个被pattern匹配到的行的行首。
vim +5 fstab
模式转换
由编辑模式-->输出模式
i:insert
a:append 在光标的所在方后端转换为输入操作
o:在光标所在处下方新建一行
I(大写i):在光标所在行的行首输入
A:在光标所在行的行尾输入
O:在光标所在处的上方打开一个新行
由输入模式-->编辑模式
ESC键
编辑模式-->末行模式
:可以做一些批量操作,比如下面命令,删除9-11行内容
:set un 显示行号
set nonu 撤销显示行号
保存:w
退出: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:向上一行
enter:向文件尾部按行翻
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
vim的编辑命令
字符编辑
替换
删除
x:删除光标所在处的字符
#x:删除光标所在处的其实的#个字符
xp:交换光标所在处的字符与后面的字符位置
替换命令:
r:替换光标所在处的字符
d:删除命令,可结合光标跳转字符实现范围删除
d$:删除到光标之后行内容
d^:删除到光标之前的行内容
de:
dw:
3dw:
db:
dd:删除整行
3dd:删3行
粘贴命令
p和P
p:缓冲区的内容如果为整行,则粘贴在当前光标所在行的下方;否则则粘贴至当前光标所在处的后方
P:缓冲区的内容如果为整行,则粘贴在当前光标所在行的上方;否则则粘贴至当前光标所在处的前方
复制命令
y:复制,工作行为相似于d命令
y$:
y^:
ye:
yw:
yb:
yy:
#yy:
改变命令:
c$
c^
c0
cb
ce
cw
cc:删除光标所在的行,并转换为输出模式
#cc
可视化模式
v:
V:
撤销操作命令:
#u:撤销#步操作
ctrl+r : 撤销此前的撤销操作
. 重复执行前一个操作