Vi 文件名
Vi +#打开文件并定义到#行,如:vi +50 profile
Vi +打开文件并定义到最后一行,或者vi打开文件后G到最后一行,gg第一行。
Vi +/PARTTERN 文件名,查找并打开。[root@basic ~]# vi +/after profile ,定位到关键字所在行,是第一个关键字,如果找下一个关键字可以用n,找上一个关键字可以用N。
:q退出
:wq存盘退出ZZ也是存盘退出
:q!强行退出
:w保存
:w!强行保存
Vi是一个全屏编辑器:
编辑模式:编辑模式是输入按键的时候并不能输入按键本身的含义,而是转译成命令,如u上一步,dd是剪切,yy是拷贝。。。。
输入模式:iaoO后进入输入模式,可以输入字母和数字符号等。
I在当前所在光标位置的前面进入输入模式,a是在当前所在光标位置的后面进入输入模式。O在当前行的上一行新开一行,o在下一行新开一行。
末行模式:在编辑模式的状态下输入冒号即进入了末行模式,可以执行存盘退出等操作
输入模式进入编辑模式esc键
编辑模式进入末行模式:
末行模式进入编辑模式esc建
编辑模式的移动光标:
Hjkl左下上右
W移至下一个单词的首字母位置。
0移至绝对行首,^非空白第一个位置
$是行尾
G移至文章末尾
Gg移至文章开头
Ctrl f下一屏,ctrl+b上一屏
编辑模式:
X删除当前位置的字符,3x删除当前向后三个字符
R替换当前位置的字符,
U撤销到上一步,
Dw删除单词也有剪切的作用,dd删除当前行也是剪切的命令
2dw删除两个单词
复制单词、复制行、粘贴、剪切
Yw/Yy/pP/dd
U撤销命令
Ctrl+r重做撤销的操作,取消撤销操作。
.是重复操作,如之前执行的是dd命令,.就可以重复执行dd命令了。
末行模式:
:set nu/:set number
:set nonu/:set nonumber
:wq!
:set readonly设置为只读模式,修改后不能保存
/查找,/after,:/查找关键字,并定位到关键字所在行的非空行首
n下一个关键词,大n上一个关键词。
!可切换到vi外的状态:
:!ls /etc
查找并替换
s/str1/str2/i,,i是忽略大小写/是边界符,边界符可以是/@#便于解决关键字中包含边界符的问题
范围定位:
n:行号
.:当前光标行
+n:偏移n行
$:末尾行
%:全文