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