1 vi操作:
常用的命令: 移动:jkhl 翻页:ctrl+f ctrl+u ctrl+b ctrl+d 光标位置不动,文档移动:ctrl+e ctrl+y 移动到当前文档的位置:H M L 将当前文档移动到屏幕的上中下:zz zb zt 跳行:gg G nG 0 $ % 跳单词:w b e 大写是反向跳 跳字符:f F 插入:iIaA oO 修改:x r R dw cw cc 跳文件:gf ctrl+o 退出:wq x ZZ q! 行操作:yy p dd p 10,20 m/co 20 10,20 d 替换操作:: s/p1/p2/g:将当前行中所有p1均用p2替代。 n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代。 g/p1/s/p2/g:将文件中所有p1均用p2替换。 %s/p1/p2/g:将文件中所有p1均用p2替换。 3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。 查找操作:/str ?str #
2 多窗口,多文件操作:
new vnew sp vsp 多窗口切换: ctrl+w+j/k 或者 ctrl+w+w 窗口调整 CTRL-W < 使得当前窗口宽度减 N (默认值是 1)。 CTRL-W > 使得当前窗口宽度加 N (默认值是 1)。 CTRL-W - 使得当前窗口高度减 N (默认值是 1)。 CTRL-W + 使得当前窗口高度加 N (默认值是 1)。 <整个窗口的移动> CTRL-W-H 将窗口移到最左边 CTRL-W-L 将窗口移到最右边 CTRL-W-J 将窗口移到底端 CTRL-W-K 将窗口移到顶端 Secury crt多窗口之间切换方式: 用ctrl + tab依次切换 Alt + n 切换到第n个窗口 解决超时问题,可以通过设置搞定 多文件操作: 同时打开多个文件,例如 vi * :n跳到下一个,也可以加文件名直接跳到对应的文件。 :p往前跳文件 补充说明: 注:所有的操作都可以加上n来进行指定数量,例如3dd就是删除3行 { 或 }跳到下/上一个空白行 #==========> 非常有用!!! 注意 { 是shift+[键. [[ 跳到函数定义开头 或者上一个函数定义开头 . ][跳到函数定义结尾,或者下一个函数定义结尾. ]] 跳到下一个函数开头gd 跳到变量的定义处(对局部变量有效)#(不怎么有用,可以直接#号搜索即可). 文件对比:vimdiff diff
3 常用查看文件命令
Cat:直接输出内容 Vi Less:只打开一部分文件,vi的一些常用的查找等操作都可以使用 head (–n):打开文件开头的部分 tail (-n):打开文件结尾部分,tail –f可以动态显示文件 more:分页显示 cut 主要是用来切分文件,最常用的命令式: cut –d “ “ cut.txt –f1| cut –d”:” –f1 sort sort –u 排序并去重 sort –t” “ –k2,2rn sort.txt uniq 和sort -u的区别是只能对紧挨着的进行去重
4 awk sed find 等命令基本应用
awk 基本的写法: awk –F” “ [-ODF”|”] [–vvar=0] ‘BEGIN{…}{…}END{…}’ $0 表示当前行 $1 表示第一个分割后的内容 NR 计数器,每处理完一行,就会加一 awk内建函数: Sub Gsub Index Length Substr Match Split sed sed –n ‘100,200p’ file.txt > new_file.txt sed –i ‘s/str1/str2/g’ file.txt 是否加g有区别,不加一行只替换第一个 grep grep “str” file.txt find find . –name file.txt wc -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the newline counts -L, --max-line-length print the length of the longest line -w, --words print the word counts