vi全屏文本编辑器
---------------------------------------------------------------------------------------------------------------------------------------------
(1) 打开文件
-
vim /path/to/somefile
-
vim +# :打开文件,并定位于第#行
-
vim +:打开文件,定位至最后一行
-
vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
(2) 关闭文件
末行模式:
-
:q 退出 没有动过文件
-
:wq 保存并退出 动过了,不后悔
-
:q! 不保存并退出 动过了,后悔了
-
:w 保存
-
:w! 强行保存
-
:wq --> :x
-
ZZ: 保存并退出 不需要冒号,编辑模式
---------------------------------------------------------------------------------------------------------------------------------------------
全屏编辑器
模式:
-
编辑模式:按键具有编辑文本功能:默认打开进入编辑模式
-
输入模式:按键本身意义
-
末行模式:接受用户命令输入
(1) 编辑-->输入:
-
i: 在当前光标所在字符的前面,转为输入模式;
-
a: 在当前光标所在字符的后面,转为输入模式;
-
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
-
O:在当前光标所在行的上方,新建一行,并转为输入模式;
-
I:在当前光标所在行的行首,转换为输入模式
-
A:在当前光标所在行的行尾,转换为输入模式
(2) 输入-->编辑:
-
ESC
(3) 编辑-->末行:
-
:
(4) 末行-->编辑:
-
ESC, ESC
---------------------------------------------------------------------------------------------------------------------------------------------
编辑模式
(1)移动光标
-
字符
h: 左;j: 下;k: 上;l: 右
-
单词
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
-
行内
0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾
-
行间
G:文章末尾
3G:第3行
gg:文章开头
-
翻屏
ctrl:f,b
(2)删除&替换单个字符
x:删除光标位置字符
3x:删除光标开始3个字符
r:替换光标位置字符
(3)删除命令:d
dw, dd
(4)复制粘贴
yw,yy
p
(5)撤销&重做
u 撤销
ctrl+r 重做 撤销的操作
. 重复上一步的操作
---------------------------------------------------------------------------------------------------------------------------------------------
末行模式 shift + :
(1)set:设置
set nu number
set nonu nonumber
set readonly
(2)/:查找
/after
n,N
?向上查找
(3)!:执行命令
:!ls -l /
(4)s查找并替换
① s/str1/str2/gi
-
/:临近s命令的第一个字符为边界字符:/,@,#
-
g:一行内全部替换
-
i:忽略大小写
② 范围
-
n:行号
-
.:当前光标行
-
+n:偏移n行
-
$:末尾行,$-3
-
%:全文