LINUX之vi
:q 退出,没有动过文件
:wq 保存退出,动过了
:q! 退出,动过了但不想保存
:w 保存
:w! 强行保存
vi分为三种模式:编辑 输入 末行
:wq --> :x 这是简写形式
ZZ 保存并退出
:set nu 显示行号
vi +# 1.txt 打开文件并定位到某#行
vi + 1.txt 打开文件并定位到最后一行
vi +/PARRERN 1.txt 打开文件,定位至第一次被PATTERN匹配到的行的行首
编辑模式下
i 在当前光标所在字符的前面,转入输入模式
a 在当前光标所在字符的后面,转入输入模式
o 在当前光标所在行的下方,新建一行并转为输入模式
O 在当前光标所在行的下方,新建一行转换为输入模式
I 在当前光标所在行的行首,转换为输入模式
A 在当前光标所在行的行尾,转换为输入模式
移动光标:
字符:h:左 j:下 k:上 l:右
单词:w:移至下一个单词词首 e:跳至当前或后一个单词词尾 b:跳至当前或前一个单词的词首
行内:0:绝对行首 ^:行首的第一个非空白字符 $: 绝对行尾
行间:G:文章末尾 3G:第三行 gg:文章开头
翻屏:Ctrl+f:下一屏 ctrl+b:上一屏
删除&替换单个字符: x:删除光标位置字符 3x:删除光标开始的3个字符 r:替换光标字符
删除命令:dd:删除一行 dw:删除一个字符
剪切&复制&粘贴:yy:复制一行 yw:复制一个单词 粘贴取决于复制的内容如果是单词 p:后面粘贴 P:前面粘贴 如果是一行内容 p:在下一行粘贴 P:在上一行粘贴
撤销:u:撤销 ctrl+r:重做撤销的操作 .:重复上一步动作
末行模式:
!:可以在不退出vi的情况下去输入命令查看东西
set nu: 显示行号
set nonu:不显示行号
set readonly 只读
查找:/pattern 向下查找 ?/下上查找 用n来切换显示
查找替换:s:1,$s/after/bfore 将第一行到行尾的after替换为before 也可以写为 %s/after/bfore %表示全文的意思
当然,如果一行有多个after,只会替换第一个,这是需要在最后加g,表示一行都替换 也可以加i:表示忽略大小写