码农必备技能总结
码农的必备技能练习记录:
墙裂安利通关网站:
git :https://learngitbranching.js.org/?demo
正则表达式:https://regexone.com/
mysql: https://sqlzoo,net
Typing
由于没有使用VPN无法访问 https://www.typingclub.com/ ,所以就找了一个同款的打字软件进行打字练习,英文打字速度还可以,但是中文还有很大的提升空间,后期会考虑双拼打中文,不然中文的每一个字打全拼太费时间了。
VSCODE
1 并列编辑(ctrl+\)
ctrl+\
可以最多并排打开多个编辑器,视屏幕大小选择打开多少个编辑器吧。
如果你已经打开一个编辑器,有多种方式可以在旁边打开另一个编辑器:
- 使用 Ctrl+\命令来将编辑器拆分为两块
- 在文件管理器中文件右键菜单中单击 Open to the Side
- 点击下图的多多页标志。
2 自动保存
设置
ctrl+,
files.autoSave
: 自动保存值设置为off
来禁用此功能,设置为afterDelay
在配置的延迟时间后保存,设置为onFocusChange
在鼠标离开已修改文件的编辑器时保存。files.autoSaveDelay
: 设置延迟时间,毫秒为单位,files.autoSave
设置为afterDelay
时有效。
3 搜索
3.1 文件搜索
有時候文件夾下太多,要快速去到对应文件
Ctrl+P
通过键入文件或符号来导航至相应的位置
3.2 文件内容搜索
本文件搜索总所周知,但跨文件搜索如何呢?VS Code允许你在当前打开文件夹中所有文件里面快速搜索,只要输入Ctrl+Shift+F
然后输入要搜索的内容,搜索结果将会被按照文件分组显示,文件下显示搜索结果部分和在文件中显示的位置,展开一个文件可以预览该文件中所有的搜索结果,然后单击搜索结果便可以在编辑器中显示。
通过正则表达式配置搜索条件,包含哪些文件,排除哪些文件
Ctrl+Shift+J
例如只在test.cpp里面搜索partion.
*
匹配路径段中的一个或多个字符?
匹配路径段中的一个字符**
匹配任意数量的路径段,包括空{}
匹配分组条件(如:{**/*.html,**/*.txt}
匹配所有HTML和txt文件)[]
声明匹配一个范围内的所有字符(如:example.[0-9]
匹配example.0
,example.1
, …
更多关于正则表达式,后面提供。
5 快捷键修改
1 调出键盘快捷键方式 Ctrl+k,Ctrl+s
2 搜索对应的command
3 右击修改快捷方式+enter保存
6 常用文本操作
行复制:Ctrl + c
。当你没有选中行中任意字符时,复制出来的实际上是整行的内容;
行移动:Alt + ↑/↓
。想整体移动一行或者多行
撤销:Ctrl + z
行删除:Ctrl+d
复制+粘贴:Shift + Alt + ↑/↓
行注释:Ctrl + /
;行注释取消,只需要再按一次。
块注释:Alt + Shit + A
/* */这儿最好修改为其他更简单快捷键,我的修改为Ctrl +8
代码格式化:Alt + Shit + F
跳转到代码定义:F12
代码定义浮窗显示:alt+f12
光标回退:alt+<-/->
: 切换到下一个 / 上一个编辑点。 f12之后想回退到原来的位置
列选,配合复制,删除等操作。
Alt + Shit + 左键
:初始光标位置作为矩形的一角,而点击位置作为矩形的对角;
Ctrl + Shit + 左键
:和上一个的区别就是行选择,不是矩形区域
Alt + 左键
:实际上这个才是我们最常使用的方式,它提供了最大的灵活性。长按 Alt 后,每个点击的位置都是编辑点。注意,这些编辑点是有序的!
更多快捷键使用5查看或者其他方式
7 Diff
这个很关键啊,对于多人协作的git开发,经常会用到
在文件区域找到要比较的两个文件: 首先 右键 → 选择进行比较 选择要比较的基准文件,然后 右键 → 与已选项目进行比较 选择要比较的目标文件。然后就会在界面中展示两份文件的异同。不一样的地方会被高亮出来。
8 设置模板代码段snippet
当我输入一小段我们字符串,然后这些字符可以展开成一大段模板。这样的特性称之为 snippet,也即代码段,比如输入一个for,代码就能展开for循环的格式。
参考: https://blog.csdn.net/maokelong95/article/details/54379046
Git
1 git常用命令
命令 | 说明 |
---|---|
git init | 初始化一个本地版本库 |
git status | 查看当前workspace的状态 |
git add filename | 把文件添加到index |
git commit -m "log info" | 把文件提交到仓库 |
git log | 查看当前分支提交的日志 |
git reset --hard commit-id | 进行了错误提交需要回退,彻底回退到某个版本,本地的源码也会变为上一个版本的内容 |
git reset --soft commit-id | 只回退了commit的信息,不会将源文件的修改也回退,如果还要提交,直接commit即可; |
git reflog | 显示整个本地仓储的commit, 包括所有branch的commit, 甚至包括已经撤销的commit, 只要HEAD发生了变化, 就会在reflog里面看得到. git log只包括当前分支的commit. |
git clone url | 通过clone远端的版本库从⽽在本地创建⼀个版本库, |
git remote -v | 查看远程库信息 |
git pull | 将远程repo更新到本地 |
git push | 将本地commit更新到远程repo |
git checkout -b mybranch | 创建⾃⼰的⼯作分⽀并切换到该分支 |
git checkout brachname | 单独的切换分支 |
git checkout --orphan <new_branch> | 很重要假如你的某个分支上,积累了无数次的提交,你也懒得去打理,打印出的log也让你无力吐槽,那么这个命令将是你的神器,它会基于当前所在分支新建一个赤裸裸的分支,没有任何的提交历史,但是当前分支的内容一一俱全,新建的分支,严格意义上说,还不是一个分支,因为HEAD指向的引用中没有commit值,只有在进行一次提交后,它才算得上真正的分支。 |
git merge brachname | 要先切换到master分支,在使用将⾃⼰的⼯作合并到master:https://www.jianshu.com/p/58a166f24c81 |
git merge --abort | 撤销合并 |
git rebase | 可以对某一段线性提交历史进行编辑、删除、复制、粘贴,参考:https://www.jianshu.com/p/4a8f4af4e803 |
2 Git实操
https://learngitbranching.js.org/?demo
参考链接:https://blog.csdn.net/maokelong95/article/details/88805589
VIM
VIM的两种状态
vimm 分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作命令来处理,如:q 代表退出,而编辑状态则是用来编辑文本资料的。当你进入 vim 时,会首先进入命令状态。在命令状态下,按”i”(插入)或”a”(添加)可以进入编辑状态,在编辑状态,按 ESC 键进入命令状态。
在命令状态下,有如下一些常用命令: 新增:
a 从光标后面开始添加文本
A 从光标所在行的末尾开始添加文本插入:
i 从光标前面开始插入文本
I 从光标所在行的开始处插入文本
常用的命令操作
删除与修改
x 删除光标处的字符
dd 删除光标所在的整行
3dd 删除光标所在行以及下面的两行(删除 3 行)
D 删除光标到行尾的文本,常用语删除注释语句 (d$) yy 复制光标所在的整行
[n]yy 从光标开始往下复制 n 行,[n]表示一个整数
p 将复制后的文本粘贴到光标处
u 撤销上次操作
光标移动
^ 光标移动到行首
$ 光标移动到行尾Ctrl+d 向下翻半页Ctrl+f 向下翻一页Ctrl+u 向上翻半页Ctrl+b 向上翻一页
gg 光标定位到文档头 G 光标定位到文档尾 H 光标定位到当前页首
L 光标定位到当前页的最后一行的行首
w 光标往后移一个字
b 光标往前移一个字
[n]+ 光标向后移动 n 行,[n]表示一个整数 10+
[n]- 光标向前移动 n 行,[n]表示一个整数 10-
[n]G 光标定位到第 n 行行首, [n]表示一个整数 20G
查找与替换
/[str] 查找字符串 str,[str]表示要查找的字符串回车后会加亮显示所有找到的字符串,接着
命令n 移动到下一个找到的字符串,命令 N 移动到上一个找到的字符串 eg /hello
部分替换 (只能替换光标之所在的行)
😒 /[src]/[dst] /i 忽略大小写 /g 全部匹配 eg 😒 /hello/world/ig 替换一行
:3,6 s/[src]/[dst]/ig(3-6 行中找) eg :3,6 s/hello/world
全部替换
:%s/[src]/[dst]/g 将文档中所有src 的字符串替换为dst 字符串
:%s/^ //g 将文档每一行的行首的空格去掉
块操作
v 可视化块选择状态,选中块之后,可以对块进行删除(d), 复制(y),剪切(x)
Ctrl +v 竖向选择模式,主要用于批量注释代码,输入步骤如下:
1、首先按ctrl+v,竖选选中要注释的行
2、输入I(注意是大写的 I),然后输入//
3、再输入esc,就会看到选中的行被注释了。
文档保存及退出
结束编辑:
:q 在未修改文档的情况下退出
:q! 放弃文档的修改,强行退出
:w 文档存盘
:wq 文档存盘退出其他:
:help 命令 查看该命令的帮助提示(不常用,当不小心按 F1
时,通过:q 进行退出)
:%!xxd十六进制模式
:%!xxd –r 返回文本模式 中间有一个空格的
如果在编辑过程中不小心按了Ctrl+s,vim 会处于僵死状态,按
Ctrl+q 可以恢复。
执行 vim +3 main.c //表示定位到 main.c 的第 3 行执行 vim +/printf main.c //表示定位到第一个 printf 处
在命令模式下输入:new 2.c //表示再打开一个vim,是横向的 用
vnew 2.c 表示纵向
也可以通过:split vsplit sp vsp,两个窗口之间进行切换的方式:Ctrl+w,w
在命令模式中输入gg=G 可以自动对齐,可以通过 gg=10gg,只自
动对齐第一行到第十行
vim外使用到的命令
sed: 管道查找替换程序
cat a.txt | sed 's/aa/bb/' > b.txt //将a.txt 中的 aa 替换成 bb 并重定向输出到b.txt 中。