一般模式:n1,n2s/word1/word2/g----> 将n1到n2行中的word1替换为word2
?word---->向上寻找一个名为word的字符串/word---->向下寻找一个名为word的字符串
y---->将反白到地方复制d---->将反白到地方删除n---->重复前一个查找操作N---->反向进行前一个查找操作G---->光标移到最后一行nG---->光标移到文件到第n行gg---->移动到文件的第一行x---->向后删除一个字符X---->向前删除一个字符nx---->向后删除n个字符dd---->删除光标所在的那一行ndd---->删除光标所在行向下n行d1G---->删除光标所在行到第一行到所有数据yy---->复制光标所在行nyy---->复制光标所在行向下n行p---->粘贴在光标下P---->粘贴在光标以上
块操作
v---->字符选择,将光标经过的地方反白选择
V---->行选择,将光标经过的行反白选择ctrl+v---->块选择,可以用长方形的方式选择数据
多文件编辑vim 文件名1...文件名n---->打开多个文件:n---->编辑下一个文件:N---->编辑上一个文件:files---->列出目前这个vim打开的所有文件:sp [文件名]---->打开一个新窗口,若文件名省略则在新窗口打开同一个文件ctrl+w+j---->跳到下一个窗口ctrl+w+k---->跳到上一个窗口:set nu---->显示行号:set nonu---->取消显示行号:synctax on---->根据程序相关语法显示不同颜色:w 文件名---->将正在编辑到数据保存成另外一个文件:r 文件名---->在编辑数据中读入另外一个文件,将文件内容加入到光标所在行到后面:n1,n2 w 文件名---->将文件到n1到n2行保存到另一个文件:set bg=dark---->设置不同到颜色色调,默认为light,vim中批注为深蓝色不容易看可以将此设置为darkiconv -f 源编码 -t 新编码 文件名 [-o 新文件名]---->编码转换,如要保留原文件可以使用-o 新文件名建立新到编码文件
sh 文件名 ---->执行文件
./文件名 ---->执行文件
ps -e ---->查看进程
echo $PATH ----> 显示程序执行路径
echo $HOME ----> 显示系统到根目录
echo $HOSTNAME ----> 显示主机名
echo $LOGNAME ----> 显示登录名export PATH=路径:$PATH ---->添加一个路径
type -t 命令名---->file 表示外部命令,alias 表示该命令为命令别名,builtin
表示该命令为bash内置命令
变量
变量内容若有空格可使用双引号或单引号将变量内容结合起来
双单引号的区别
var="lang is $la" echo $var 结果 lang is en_US
var='lang is $la' echo $var 结果 lang is $la
env---->列出当前shell环境下所有环境变量
set ---->查看所有变量,包含环境变量与自定义变量
环境变量=全局变量
自定义变量=局部变量
环境变量可以被子进程引用,其他自定义变量不会存在于子进程
文件系统及程序的限制关系
ulimit -H 配额---->严格设置必定不能超过设置到值
ulimit -S 配额---->警告设置,可以超过这个设置值,但会有警告
${变量##匹配值}---->从前开始删除取最长到匹配值
${变量#匹配值}---->从前开始删除取最短匹配值
${变量%匹配值}---->从后开始删除取最短匹配值
${变量%%匹配值}---->从后开始删除取最长匹配值
例如:
a=grtg
echo ${a#g}
结果 rtg
echo ${a%g}
结果 grt
b=/a/b/c/d/e.c
echo ${b##/*/}
结果 e.c
echo ${b#/*/}
结果 /b/c/d/e.c
echo ${b%/*}
结果 /a/b/c/d
${变量/原字符中部分字符/要替换到新字符}---->替换字符中的部分值,只替换第一个匹配到值
${变量//原字符中部分字符/要替换到新字符}---->替换字符中的部分值,替换所有匹配到值
A=avcdea
echo ${a/a/h}
结果 hvcdea
echo ${a//a/h}
结果 hvcdeh