vim命令行基础
- vim是一个操作文本的编辑器,对文本进行添加、删除、复制、粘贴.
常用命令入门
- 查看文件:cat test.html
- 查看并编辑:vim test.html ,按下 i 会发现左下角出现 –INSERT– 表示可以输入内容
- 保存文件:按 esc , shift + : ,左下角出现 : ,输入 w 表示保存 ,输入 q 表示退出 ,输入 wq 表示保存退出
- 光标操作:按 esc ,使用 k 上一行, j 下一行 , h 向前, l 向后,也可以使用键盘箭头键来实现
- 删除内容:按 esc ,使用光标移动到想要删除的位置 dd 删除当前行, x 删除当前一个, 5x删除后面5个, 5X 删除前面5个, u 恢复前一次操作
- 快速翻页:按 ctrl + d 向下滚动半屏, ctrl + u 向上滚动半屏, ctrl + f 向下滚动一屏, ctrl + d 向上滚动半屏
- 给文本添加行号: 按 esc ,输入 :set nu , ctrl + g 显示此时光标所在位置的行号和总列数,输入 :set nonu取消行号,快速切换行号按 esc ,输入 : 0 切换到头部,例如输入:20光标切换到20行号位置.
- 跳转段落结尾: 按 esc , shift + ( 跳转到上一段落, shift +) 跳转到后一段落
- 实现复制和粘贴: 按 esc ,在光标所在位置按下 yy 表示复制当前行 , p 表示粘贴
- 查找某个字符串: 按esc , 输入:/foo 表示搜索字符串foo
常用命令基础
光标移动
| 命令 | 作用 |
|---|---|
| h,j,k,l | 分别表示左,下,右,上 |
| ctrl + f | 上一页 |
| ctrl + b | 下一页 |
| o | 开启新的一行 |
| ^ | 一行的开始 |
| $ | 一行的结尾 |
| gg | 文档的第一行 |
| [N]G | 文档的第N行或者最后一行 |
编辑
| 命令 | 作用 |
|---|---|
| r | 分别表示左,下,右,上 |
| J | 合并下一行到上一行 |
| s | 删除光标所在的一个字符,光标还在当行 |
| S | 删除光标所在的一行,光标还在当行,不同于dd |
| u | 撤销上一步操作 |
| ctrl + r | 恢复上一步操作 |
| . | 重复最后一个命令 |
| ~ | 变换为大写 |
插入模式
| 命令 | 作用 |
|---|---|
| i | 插入到光标前面 |
| I | 插入到行的开始位置 |
| a | 插入到光标的后面 |
| A | 插入到行的最后位置 |
| o,O | 新开一行 |
| Esc | 关闭插入模式 |
退出
| 命令 | 作用 |
|---|---|
| :w | 保存 |
| :wq | 保存并关闭 |
| :q | 关闭(已保存) |
| :q! | 强制关闭 |
剪切/赋值
| 命令 | 作用 |
|---|---|
| v | 选中一个或多个字符 |
| V | 选中一行 |
| dd | 删除一行 |
| dw | 删除一个单词 |
| x | 删除后一个字符 |
| X | 删除前一个字符 |
| D | 删除一行最后一个字符 |
| [N]yy | 复制一行或者N行 |
| yw | 复制一个单词 |
| p | 粘贴 |
>>简明vim命令行
Linux命令行基础
常用命令行
- pwd 查看当前完整路径
- ls 不包括隐藏文件
- ls -a 查看当前目录下所有文件(包括隐藏文件)
- ls -al 查看当前目录下所有文件(包括隐藏文件)的详细信息
- cd 切换目录(cd /c/project、cd code、cd ../css、cd ~/Desktop)
- touch 创建文件 (touch readme.md)
- rm 删除文件,不能删除文件夹(rm readme.md)
- rm -rf 删除文件夹(rm -rf node_modules)
- mv 重命名文件(mv readme.md README.md)
- mkdir 创建文件夹(mkdir projects)
- mkdir test; mv test test2; rm -rf test2; 组合操作,分号间隔,若第一个命令错了也会依次执行后面的命令
- mkdir test && mv test test2 组合操作,&&间隔,若第一个命令错了则不会执行后面的命令
- cp 复制,复制文件用法cp a b(两个参数);复制文件夹用法cp -r test test2
- echo 1 > test.txt 表示在test.txt输入1,但是后续再次输入会将上一次的覆盖
- cat 把文件内容输出出来,用法cat test.txt; cat test.txt | less 可以一页页的看,K往上看,G往下看,Q退出
- head 显示文本的前几行,要确定是前几行的用法为head -n 3 test.txt,这是显示文本的前三行
- tail 与head相反,是显示文本的后几行
- du 显示目录大小
- du -sh 总的大小
- -xxx –help xxx -h man xxx 查看帮助文档
- which xxx 表示命令在哪里
文件路径
- cd / 根目录
- cd ~ 家目录
- cd books(cd ./books) 当前目录
- cd ..(cd ../css) 上级目录
Git命令行基础
- Git是一款免费、开源的分布式版本控制系统(CVS),用于敏捷高效地处理任何或小或大的项目
建立公钥与私钥的练习
- 本地库与远程库需要配置,才能正常链接
>>ssh配置
常用命令
- git config user.name 用户名(加–global表示以后都不用再输入了)
- git config user.email 电子邮箱(加–global表示以后都不用再输入了)
- git init 在本地生成库
- git add xxx 将xxx文件添加进缓存区
- git add . 将所有的文件都添加进缓存区
- git commit -am “代码提交信息” 提交代码至本地仓库,并产生版本号
- git clone git@github.com:someonexxxx.git 将代码仓库clone到本地
- git status -sb 查看文件状态
- git push origin master(本地分支名):master(远程分支名) 推送到远程仓库
- git pull origin master 同步github库的内容
- git remote add origin xxxxx 在本地添加远程仓库
- git branch xxx 创建新分支并命名
- git branch 查看有多少分支
- git checkout xxx 移动到xxx分支上
- git merge 合并分支
- git branch -d xxx 删除分支
- git reset commit 回滚到指定的commit(后面的信息删除)
- git revert commit 撤销指定的commit(只是增加一个信息撤销)
简单使用
- github必须先新建一个空仓库
基本概念(四个区)
- 工作文件夹:不加入缓冲区git不管
- 暂存区 Stage:纳入git管理记录
- 本地仓库 Local:纳入版本控制(是本地的库,其他人不生效)
- 远程仓库 Remote:在远程服务器,可使用ssh/git/https协议
操作步骤
- 已修改(modified) 修改了某个文件,但还没有提交保存(touch a.md、echo “hello” > a.md)
- 已暂存(staged) 把已修改的文件放在下次提交时要保存的清单中(git add a.md、git add .)
- 已提交(mommitted) 该文件已经被安全地保存在本地数据库中了(commit add -am “add a.md”)

起步
- 初次使用需要设置姓名和邮箱
|
|
clone 项目
- 用于把一个GitHub是的项目clone(下载)到本地变为本地仓库
|
|
新增文件并写入内容
|
|
保存文件到缓存区
|
|
提交到本地库
|
|
推送到远程库
|
|
修改删除文件
|
|
复杂使用
- 本地创建一个 git 项目推送到远程空仓库
新建文件夹初始化git仓库,增加文件并写入内容,保存到缓存区,并提交到本地库
|
|
查远程库地址,给远程库地址添加标签,推送本地库到远程库
|
|
增、删、改远程库的标签及对应地址
|
|
分支操作
|
|
分支合并
|
|
冲突
- 当自己和别人改同一个文件的同一个地方,在执行gitpull时更新本地合并时会出现冲突
解决冲突
- 修改冲突文件
- 重新提交
模拟多人操作
- 前提先在github手动创建一个仓库test
新建本地文件与远程仓库联系
|
|
第一个人的操作
- 在master上拉一个分支来增加新功能
|
|
第二个人的操作
- 再第二个人开发完后已经合并master的分支上拉一个分支
|
|
查看代码提交记录,回溯代码
|
|
|
|