快捷方式:
F9 侧栏(隐藏显示)
\p< 头文件
\im 生成一个main函数
\ip 生成一个printf
ctrl+n 显示历史写的代码
vi的删除和修改功能:
[n]x 删除光标后n个字符
[n]X 删除光标前n个字符
D 删除光标所在开始到此行尾的字符
[n]dd 删除从当前行开始的n行(准确来说,是剪切,剪切不粘贴就是删除)
[n]yy 复制从当前开始的n行
p 把粘贴板上的内容插入到当前行
dG 删除光标所在开始到文件尾的所有字符
J 合并两行
. 执行上一个操作
u 撤销前一个操作
vi的行定位功能:
ctrl+f 向前滚动一个屏幕
ctrl+b 向后滚动一个屏幕
gg 到文件第一行首行
G 到文件最后一行行首,G必须为大写
:$ 到文件最后一行(行尾)
mG或mgg 到指定行,m为目标行数
/内容 查找指定内容
vi的文本查找功能:
/字符串 查找指定字符串
n 寻找下一个
N 回到前一个
? 寻找上一个
/^字符串 查找以字符串开始的行
/字符串$ 查找以字符串结尾的行
/a.b 查找字符串a任意字符b
vi的替换功能:
r 替换当前光标字符
:r 文件名 在光标当前位置载入另一个文件
:s/p1/p2/g 将当前行中所有p1均用p2替代
:g/p1/s//p2/g 将文件中所有p1均用p2替代
:nl,ngs/p1/p2/g 将n1到n2行中所有p1均用p2替代
vi的set指令:
:set ic 搜寻时忽略大小写
:set noic 搜寻时不忽略大小写
:set nu 显示行号
:set nonu 不显示行号
查看目录中的信息
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息(也可以‘ll’)
-h 配合-1以人性化的方式显示文件大小
mkdir 创文件
* 文件代表文件名所有字符
ls te* 查找以te开头的文件
ls *html 查找结尾为html的文件
? 代表文件名中任意一个字符
ls ?.c 只找第一个字符随意,后缀为.c的文件
ls a.? 只找只有3个字符,前2个字符为a.,最后一个字符任意的文件
[] ["和"]"将字符组括起来,表示可以匹配字符组中的任何一个。“-”用于表示字符范围
[abc] 匹配a、b、c中的任意一个
[a-f] 匹配从a到f范围内的任意一个字符
ls [a-f]* 找到从a到f范围内的任意一个字符开头的文件
ls a-f 查找文件名为a-f的文件,当“-”处于方括号之外失去通配符的作用
\ 如果要使通配符作为普通字符使用,可以在其签名加上转义字符。“?”和“ * ”处于方括号内 时不用使用转义字符将失去通配符的作用
ls \*a 查找文件名为*a的文件
touch 文件夹里没有这个文件就会新建,有了会更改文件时间
touch \*.c 创建一个名叫*.c的文件
touch *.c 更改该文件夹内所有后缀为.c的文件时间
gedit 编辑文件 没有就会自动创建