码农的自我修养--学习笔记

目录
  • 码农的自我修养
    • VSCODE快捷键使用
    • VIM编辑器使用
    • GIT基础和使用
    • 正则表达式
    • 作业

码农的自我修养

VSCODE快捷键使用

命令面板 Ctrl + Shift + P 或 F1
文件资源管理器 Ctrl + Shift + E(Explorer)
文件搜索 Ctrl + Shift + F (Find)
源代码管理 Ctrl + Shift + G (Git)
插件拓展管理类 Ctrl + Shift + X (Extensions)
运行和调试 Ctrl + Shift + D (Debug)
切换出终端 Ctrl + `
查看错误和警告 Ctrl + Shift + M
Alt + ↑ / ↓ 上移/下移当前光标所在一整行内容
Alt + 鼠标左键 多处光标进行同时编辑

VIM编辑器使用

  • vim编辑模式:命令模式、输入模式、底线命令模式。
    码农的自我修养--学习笔记_第1张图片
  • 命令模式
h 左移光标、k 左移光标、j 下移光标、i 右移光标
x 删除当前光标所在字符
i (insert)插入命令,之后进入文本输入状态
: 切换到底线命令模式,在最后一行输入命令
  • 输入模式:和普通编辑器使用一致
  • 底线命令模式
q 退出程序
w 保存文件(写入硬盘)
wq 保存并退出
q! 不保存退出

GIT基础和使用

GIT有四个概念,远端的GIT仓库,本地的工作区、暂存区、版本库。

  • 远程仓库(remote directory):托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
  • 工作区(working directory):就是电脑里能看到的工作目录
  • 暂存区(stage or index):暂存零时的改动,保存即将提交的列表信息
  • 版本库(history):就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

工作流程:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

基本操作:

//在当前工作区建立本地仓库
git init

//拷贝远端仓库(GitHub)
git clone https://github.com/MosEleven/hello-world.git

//查看项目当前状态
git status

//添加修改后的文件到缓存
git add

//提交修改
git commit

//建立/切换分支
git checkout [-b]

//融合分支
git merge

//取回远端更新,但本地不更新
git fetch

//直接更新到本地
git pull = git fetch + git merge

//更新至远端
git push 

//回退版本
git reset --hard head[^] 

操作实例:

  • 首先在工作目录右键选择git bash here,并使用git init创建本地仓库,工作目录新增了.git文件夹
  • 使用git clone克隆远程仓库,可以看到在工作目录新增了文件夹test,里面保存我在远端创建的README.md文件

  • 可以使用git checkout -b 创建并切换分支
  • 使用git branch 创建分支
  • 使用git branch查看现有分支
  • 使用git checkout 切换分支
  • 使用vim创建新文件text1.txt
  • 使用git add text1.txt从工作区加入缓存区
  • 使用git commit -m '标注'提交到本地版本库
  • git push,可以看到远端同步了变动

  • 接下来改动本地和远端的README.md文件
  • 这时候试着push一下,提示冲突
    码农的自我修养--学习笔记_第2张图片
  • 使用git diff origin master查看冲突
    码农的自我修养--学习笔记_第3张图片
  • 用vim修改冲突,并提交修改到版本库
  • 然后git push

    码农的自我修养--学习笔记_第4张图片
  • 成功
  • 虽没有按照作业练习中的要求来,但操作是类似的,都用到了分支的合并,而且本文演示了冲突处理

正则表达式

  • 正则表达式就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如有个程序要去检查一个邮箱地址类的字符串,如果编写程序去检查,将会非常麻烦,正则表达式就相当于一个定义字符串的模板,当要判断一个字符串属不属于邮箱地址的格式时,只需要用正则表达式的语法规则去定义一个模板,然后就可以和字符串进行匹配,比如这样[a-z A-Z 0-9]+@[a-z A-Z 0-9]+"."com 这样就定义了一个邮箱类的模板,非常方便自定义模 ,它用来匹配以及替换。既方便又灵活
/ 向下寻找字符串

? 向上寻找字符串,指定可能存在的元素,将贪婪(greedy)匹配改为懒惰(lazy)匹配

| 搜索多个模式

. 通配符

+ 查找出现一次或多次的字符

* 匹配零次或多次出现的字符

[] 定义一组希望匹配的字符

- 定义要匹配的字符范围

^ 排除不想匹配的字符,查找开头

$ 查找结尾

\d 搜索数字字符  \D 相反

 

\s 匹配空格、回车、制表、换页、新行符  \S 相反

\n 换行  \r 回车  \f 换页  \t 水平制表  \v 垂直跳格

{} 指定匹配的上限和下限数

() 捕获组

作业

  • 作业1
    • 首先,末尾要匹配数字使用\d,匹配数字的数量为0或多个使用*
    • 在看,用户名字母要求:大小写均可,即[a-z A-Z],匹配字母数量要求两个以上,即{2,}
    • 综上答案是[a-z A-Z]{2,}\d*
  • 作业2
    • 替换字符串
    • 将xxx替换为yyy
    • 应该使用%s/xxx/yyy/g
  • 作业3
    • 先使用set number命令显示行号
    • 通过10,20s/^/#/g在10-20行的行头加上#注释
  • 作业4
    • 按v进入选择模式,选中2-3行,按y复制
    • 录制宏命令qapq
    • 使用10@a即可粘贴10次

你可能感兴趣的:(码农的自我修养--学习笔记)