/dev/null — unix黑洞
cat /dev/null
cp a.txt /dev/null
– 拷贝的任何内容都消失
cat /dev/null > b.txt
– 清空b.txt文件内容
清空文件另一方法 : > b.txt
more – 分屏显式
head – 显式文件的前N行
tail – 显式文件的后N行
(不加参数默认显式10行)
调用vi
打开或创建一个文件 vi filename
打开一个新文件, 最后才取名 vi
h(向左), j(向下), k(向上), l(向右)
i 在光标当前位置插入
a 在光标所在位置后插入
o 在光标所在行下插入一空行
退出插入状态 `<Esc>`
delete text
x 删除一个字符
dw 删除当前词(没办法识别所有的英文单词,是连续多个字母,当碰到标点符号时,为一个词)
3dw 删除三个词
dd 删除当前行(从光标所在行开始)
5dd 删除五行(从光标所在行开始)
:5,10d (底行模式:5到10行删除)
change text
r 替换一个字符
cw 替换一个单词
cc 替换一行
C 替换从光标至行尾
copy text
yw 拷贝词(光标放在一个单词的开始位置)(p:在光标的下个位置粘贴;P:在光标的上个位置)
yy 拷贝行(或Y)
p 当前行下粘贴
:1,2co3 拷贝行1,行2在行3之后
:4,5m6 移动行4,行5在行6之后
save quit text
:w 存盘
:w newfile 存成新文件
:wq 存盘退出Vi(或ZZ,或:x先检测有没有改变,如果没有改变,不存盘)
:q! 强行退出不存盘
操作
~ 改变大小写
J 把当前行和下一行连起来
u 废除刚才的编辑操作(undo)(存盘退出,不能废除)
:set nu 显示行代码 (:set nonu)
:21 光标停在指定行
21G 光标停在指定行 (G 到文件尾,1G 到文件头)
/串 从当前行往下查找
?串 从当前行往上查找
n 查找继续
:r file2 在光标所在位置插入另一个文件
:1,$s/旧串/新串/g 替换全文(或 :$s/旧串/新串/g) $:表示最后一行
: split(横向切割)
: vsplit(纵向切割)
Ctrl+ww(跳转光标到另一个窗口)
:close(首先将光标跳转到此窗口然后执行:close 进行关闭)
:open xxx(表示装载另一文件)