Git 和 VIM 操作简易教程

教程 Jim ⋅ 于 2016-12-14 17:00:56 ⋅ 最后回复由 琴歌 2016-12-15 10:50:34 ⋅ 90 阅读

Git

  • git是先进的分布式版本控制系统
  • 命令行输入git,会提示安装命令(限linux系统,Windows系统安装方式见下面的链接)

  • git clone

  • git branch dev
    • 新开分支,dev是新分支名字
  • git checkout dev
    • 切换到分支dev
  • git checkout -b dev
    • 新建分支dev并切换到新分支
  • git push origin dev
    • 提交新分支到远程
  • git status
    • 查看项目状态
  • git add fileName
    • 将修改添加到仓库, fileName为需要添加的文件名,使用git add .表示所有修改都添加
  • git commit -m"description"
    • 将修改提交到仓库,description为本次提交的描述
  • git push
    • 将仓库的内容提交到远程
  • 可以自己写个bash整合git add,git commit, git piush 这三个命令,实现一个命令提交

  • git pull
    • 拉取远程修改
  • git log
    • 查看git历史版本log,会显示log的id,描述,提交时间,提交人
  • git diff logId
    • 比较当前版本与历史版本区别, logId为 git log 命令查出来的log的id,不需要输入完整,只需要输入前几位就可以

submodule

  • submodule是在一个git项目里面引用其他的git项目,引用的项目为子项目
  • git submodule add
    • 后面跟子项目地址,在git项目里面对应目录下执行,将子项目克隆到当前目录下,
  • git submodule update

  • 克隆一个含有子项目的项目:
    • git clone 项目 https 地址
    • git submodule init
    • git submodule update
  • 克隆项目(同时拉取submodule中的内容,效果和上面3个命令一样):git clone --recursive

  • 在 idea 里面使用 git 的时候,对于不需要加入版本控制的目录或文件:
    • 需要在项目根目录下创建 .gitignore 文件
    • 根据提示安装插件
    • 在 .gitignore 中加入不需要加入版本控制的目录或文件 (一定要把.idea目录加进去,否则多人开发会冲突)
    • 生效后,对应的文件或目录会变灰

参考文档

vim

  • vim是一个编辑器,广泛用于服务器和代码的编写.
  • 模式
    • normal模式:进入vim的默认模式,所有命令都需要在normal模式下输入.
    • insert模式:文本编辑模式,在此模式下编辑
  • 进入insert模式
    • i 在当前位置生前插入
    • I 在当前行首插入
    • a 在当前位置后插入
    • A 在当前行尾插入
    • o 在当前行之后插入一行
    • O 在当前行之前插入一行
  • 进入normal模式
    • esc键
  • vim fileName
    • fileName为文件名,如果该文件存在则打开,如果不存在则新建并打开
  • vim -b fileName
    • 查看二进制文件
  • :q
    • 退出
  • :w
    • 保存
  • :wq

    • 保存并退出
  • 移动光标
    • h 左移一个字符
    • l 右移一个字符,这个命令很少用,一般用w代替。
    • k 上移一个字符
    • j 下移一个字符
    • w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。
    • b 向后移动一个单词 2b 向后移动2个单词
    • e,同w,只不过是光标停在单词尾部
    • ^ 移动到本行第一个非空白字符上。
    • 0(数字0)移动到本行第一个字符上,
    • gg 移动到文件头。 = [[
    • G(shift + g) 移动到文件尾。 = ]]
    • Ctrl + e 向下滚动一行
    • Ctrl + y 向上滚动一行
    • Ctrl + d 向下滚动半屏
    • Ctrl + u 向上滚动半屏
    • Ctrl + f 向下滚动一屏
    • Ctrl + b 向上滚动一屏
  • /
    • 查找,后面跟需要查找的字符串,如:/time 表示查找"time"这个字符串
  • :s/需要替换的内容/新内容
    • 只替换光标所在的那一行
  • :%s/需要替换的内容/新内容
    • 全局替换,每行只替换匹配的第一个
  • :%s/需要替换的内容/新内容/g
    • 全局替换,替换全文所有符合条件的内容
  • u
    • 撤销
  • v
    • 选中,移动光标选择选中到哪个位置
  • Shift+v
    • 选中整行
  • x
    • 删除当前字符
  • 3x
    • 删除当前光标开始向后三个字符,数字可以自己换
  • dd
    • 删除当前行
  • y
    • 拷贝选中的部分
  • yy
    • 拷贝当前行
  • p
    • 粘贴
本帖已被设为精华帖!
本帖由 Jim 于 1月前 置顶
回复数量: 3
  • 琴歌 MOD 逍遥一世之上,睥睨天地之间。
    2016-12-14 17:15:18

    不错,很全面。

  • 偏执 努力,努力,再努力,任何时候都可以出发
    2016-12-14 21:08:48

    完全适用 新手上路。厉害~

  • 琴歌 MOD 逍遥一世之上,睥睨天地之间。
    2016-12-15 10:50:34

    ~~get

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles: ~~
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter