vi、vim,文本编辑器
三种模式:命令模式、输入模式、末行模式(当然名称可能有所不同,这种说法可能更直观)
vim [参数] 文件名 进入命令模式模式间转换(从命令模式)
i键 Insert,进入输入模式(退出则Esc键到命令模式): / ? 进入末行模式(退出则Esc键到命令模式)
末行模式下
:X 设置密码 取消密码则都设为空(同Windows的BIOS) :w 存储 :w 文件名 以指定的名称存储(也可理解为另存为) :w! 强制存储 :q 退出 :q! 强制退出 :wq 保存并退出 (:qw在PATH中未定义) :wq!强制保存并退出 :!ls /root 查看/root目录下内容(再回车,返回vim) :!date 查看文件日期 :e 文件名 打开新文件,关闭旧文件 :set nu 新增行号(实时,退出vim则取消) :set nonu 取消行号 :number 跳转到第number行命令模式下
光标移动 h(左)、j(下)、k(上)、l(右) shift+g 最后一行 gg 第一行^(shift+6) 跳转到行首
$(shift+4) 跳转到行尾翻页
ctrl+f 前翻一页 ctrl+b 后翻一页 ctrl+u 前翻半页 ctrl+d 后翻半页删除
x 删除单字符 dd 删除整行 dw 删除单词 d$ 删除至行尾 d^ 删除至行首 J 合并上下行撤销
u 逐步撤销 U 还原当前行 ctrl+r 对已撤销内容还原复制、粘帖
yy 复制当前行 p 读取vi缓冲区中的内容(即粘贴) number yy 当前行到以下number行复制字符串查找
/name 向下查找name ?name 向上查找name n键 下一个 N键 上一个替换
:[替换范围] sub/旧的内容/新的内容[/g] % 在整个文件内容中查找并替换 n,m 在指定的行数范围内查找并替换 /g 替换行中所有 无 替换行中首个shift+z+z 保存并退出
:s/654/321 该行第一个
:s/654/321/g 该行全部 :1,10s/n/987 1到10行每行第一个 :1,10s/n/654/g 1到10行全部替换 :%s/654/123 第一列 :%s/654/963/g 所有列所有654