码农的必备技能
• Typing
作为一个码农,几乎所有的工作都要通过敲击键盘来完成,所以打字能力是我们高效的完成任务的基础。
进入网站:https://www.typingclub.com ,来测试一下自己的打字能力吧!共684关,可以直接进⼊684关测评。 测评未通过的需要完成1-684关的循序渐进的训练过程
• Visual Studio Code(VSCode)
Visual Studio Code(以下简称vscode)是⼀个轻量且强⼤的代码编 辑器,⽀持Windows,OS X和Linux。
内置JavaScript、TypeScript和 Node.js⽀持,⽽且拥有丰富的插件⽣态系统,可通过安装插件来⽀持 C++、C#、Python、PHP等其他语⾔。
下载地址:https://code.visualstudio.com/#alt-downloads
进行基本配置:
• Ctrl+Shift+P 输⼊dispaly 选择”配置 显示语⾔Configure Display Language,安装简体中⽂并选择 zh-ch
• 帮助-欢迎使⽤-⼯具和语⾔,根据您 所使⽤的语⾔安装相应的⼯具,我 们默认安装C/C++
• 设置和按键绑定,我们默认安装Vim
• 颜⾊主题,我们默认选择Dark+
常用快捷键:
• 打开⽂件夹( Ctrl/⌘+O)和关闭⽂件夹⼯作区( Ctrl/⌘+K F)
• 新建⽂件(Ctrl/⌘+N)、关闭⽂件(Ctrl/⌘+W)、编辑⽂件和保存⽂ 件(Ctrl/⌘+S)
• 搜索(Ctrl/⌘+F)
• 选中某个⽂件编辑器(Ctrl+1、2、3…)
• Git
分布式版本控制系统Git,是⽬前世界上先进的分布式版本控 制系统(没有之⼀)。
Git不适合管理二进制文件,Git适合管理文本。这是因为Git版本更新是按行存储,哪一行发生了修改只会更新对应修改后的行。二进制文件只有一行,更新时会有大量重复。
Git的基本操作逻辑
• 对于本地Repo,可能有多个branch,⾄少有⼀个叫master
• 本地Repo中的branch与⼀个或多个远程Repo中的branch存在跟踪关系
Git实现分支合并步骤:
git clone 将远程仓库拷贝到本地
git pull 将远程repo更新到本地
git branch 查看分支,发现只有master
git checkout -b XXbranch 创建XX分支
git add test.md
git commit -m "XXX" 将修改提交到本地分支
git commit -m "XXX"重复,直到所有修改都提交
git checkout master 切换到master分支,若远程master发生更新,要git pull
git merge XXbranch 合并分支,若更新冲突(同一行发生修改),要手动解决
git push 将本地commit更新到远程
• Vim
vim有三种模式:命令模式,输入模式,末行模式
在命令模式下,可以看到光标,通过输入相关命令操作。
命令模式常用命令:
•hjkl:四个连续的字母用于上下左右移动光标
•dd:删除光标所在的行,ndd删除光标以下n行
•yy:复制光标所在的行,nyy复制光标一下n行
•p, P p为将已复制的数据在光标下⼀⾏贴上,P则为贴在游标上⼀⾏
•/word 向光标之下寻找⼀个名称为 word 的字符串
• :n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 ⾏之间寻找 word1 这个字符串,并 将该字符串取代为 word2 。
例子:1,$s/Git/git/g 将第一行到最后一行的Git替换成git
在命令模式下按下i进入输入模式,ESC推出命令模式;按下:进入末行模式,:q推出,:w保存,:wq保存并退出
• Regular Expression(RegEx)
匹配时默认贪婪匹配,匹配最长的符合条件的字符串
通配符.匹配任意一个字符 ,如:/hu./匹配hug,huh.hum
+ 前一个字符出现1次或多次 /hu.+/ 匹配至少三个字符
* 出现0次或多次,/hu.*/匹配至少两个字符
?可能出现的元素 /colo?r/ u出现或不出现都匹配
/b[iou]g 匹配big bog bug
/b[a-e]g 中间一个字母范围是a~e
[^aeiou] 其中^排除aeiou
^ 表示开头
$ 表示结尾
快捷方式:\W=[^a-zA-Z0-9] \w=[[a-zA-Z0-9]] \d=[0-9] \D=[^0-9]
/a{3,5}h 将匹配3~5个a
/(\d+)\s\1\s\1 其中(\d+)是一个捕获组,\1 代表出现的第一个捕获组,整个语句用于匹配出现三次的数字,中间以空格隔开,后两个数字是第一个捕获组得到的结果,所以三个数相同
/s /g 全局替换
例子:1,$s/^\s*(.*)\s$/$1/g 此语句用于消除全文前后空格