虽然会一些基本的操作,但还是需要加固一下,还有权限的chmod
chmod
三级:文件所有者、用户组、其他用户
分别可用简写英文u、g、o代替
也可用a代替所有的
+指定用户增加权限
=设置指定用户权限的设置
4读r、2写w、1执行x
chmod ugo+r file1.txt
//ugo的人都可读
chmod a+r file1.txt
//这样也中,和上面一样
可以群体写入执行权限的划分
chmod ug+w,o-w file1.txt file2.txt
//1、2文件设置闻文件拥有者、和组可写入、其他人不可写
chmod u+x ex1.py
//对文件ex1.py执行增加执行权限
chmod -R a+r *
//递归目录下所有的都可以读
可用数字来表示权限
chmod abc file
chmod 777 file 和 chmod a=rwx file一样
dd
删除当前行,并把删除的行存在剪贴板里
各种在命令下的插入
a 在光标后
o 在光标后一行
O 在光标前一行
cw 就是删除到不同类型的、例如删除逗号、字母、字符的后面到不同的类型
光标移动
0 到行头、home野种
^ 到本行第一个不是空格的字符位置
$ 到本行行尾
/字符 搜索,这个老忘,得多记,回车是下一个,
拷贝yy
黏贴p
文件的利用
:e<path> 打开另一个文件
:saves<> 存储为路径
:bn或者bp,在同时发开文件下进行切换n是下一个,p是上一个
重复的使用
.可以重复执行上一次的命令
N<command> 重复某个命令n次
数字配合小鼠点
3.上次的命令执行3次
行的前进
NG N是数字、到第n行、G必须大写
gg 第一行
G 最后一行
对于/的查询
n是下一个
N是上一个
撤回操作 u
%的应用
{ (左大括号) 跳到上一段的开头
} (右大括号) 跳到下一段的的开头.
( (左小括号) 移到这个句子的开头
) (右小括号) 移到下一个句子的开头
[[ 跳往上一个函式
]] 跳往下一个函式
<start position><command><end position>
命令的多运用
0y$从行首拷贝到行尾
ye 从当前拷贝到行尾
y数字/字符 来拷贝字符之间的几个字符串
ex:
y2/foo 来拷贝两个foo之间的字符串
大小写变化。。。
gU变大写
gu变小写
dddd
f字符 到下一个字符的位置、
fs 到下一个为s的字符处
还可以
3fa 在当前行查找第3个a
f和F,方向不一样
t符号
到某个的前一个字符
t,
到逗号前的一个字符
删除所有内容
ggdG
块模式
局部插入
ctrl+v进入选择块模式,然后选择后,输入大写I,光标自然会跳到所选择的行的第一行的行首,并进入insert模式,可以输入你想要插入的内容;
输入完你想要插入的内容后下Esc键,则你会发现刚刚你选择的行的行首都已经插入了你想要插入的内容;
对多行行首进行统一删除字符
在nomal模式下按下ctrl+v,然后进行选择(如果想要选择至文件结尾,则再按G)
择完以后下小写d,则删除了刚刚选中的位于多行行首的字符;
多行行首缩进
在nomal模式下按下ctrl+v,然后进行选择(如果想要选择至文件结尾,则再按G)
然后下>键,会发现所选择的内容已经向后缩进一个tab,反之选择中以后按下<键(即shift+,),则会向前缩进一个tab,起飞。。。=是自动缩进
多行行尾插入
进入块模式,然后选择,然后按A,然后在选择第一个的行尾的添加,按esc
多行行尾删除
块模式,选择,按x或d
块复制
快模式-选择区域--y,然后大小写p,大p是在前黏贴
J
→ 把所有的行连接起来(变成一行)
光标
还是不熟悉,就会用几个
a 在光标后附加文本
A 在本行末附加文本
i 在光标钱插入文本
I 在本行开始插入文本
o 在光标下插入行
O 在光标上插入行
插入下 ctrl+t当前行缩进
自动提示
之前就想过,还真有
先set spell
然后插入模式下按ctrl+n/p
宏录制
举个例子,自己太笨,搞了好久才知道原理
从1增加依次
先插入1
然后命令模式
qr r是寄存器名称、q是宏录制的开始
yy
p
ctrl+a 是加1
q
然后就可以曾加
100@r
分屏
在shell下
vim -on 文件1 文件2 .。。。
o表示水平分割
O表示垂直分割
n表示分几个屏,可默认不写,按照后的文件来
取消其它分屏,只保留当前分屏
:only
退出当前所在分屏
:q
扩大窗口
ctrl+w+
缩小窗口
ctrl+w-
切换窗口,不习惯用hijk的,太麻烦了
直接ctrl+w+w窗口切换