vim
两种模式(一共三种模式)
- 正常模式(命令行模式):Esc键-
- 插入模式(输入模式):a,i
- 可视模式
命令
新建或编辑:e(edit)
:e hello.txt保存w(write)
:w退出q(quit),加!强制退出
:q:!q行首行尾,光标首尾
i 在光标之前插入文本 I 在行首插入文本 a 在光标之后插入文本 A 在行尾插入文本替换:%表示行号范围,可以为0,10即前10行,g代表多次出现,全部替换
:%s/oldword/newword/g- 新开一行 :o下一行;O,上一行;
- b:单词的开头及前一个单词的开头 ,w:下一个单词的开头
e:单词的结尾及下一个单词的结尾 - 修改s(修改单个,进入插入模式)和S(消除整行进入插入模式)
- 修改r(修改单个,处于命令模式)和R(修改后续字符,进入插入模式)
- 左下上右 hjkl——>前面加数字,如5j表示下移5行
- ^行首 $行尾
- ctrl+b 前一页 Ctrl+f 后一页
- gg:文本开头 G:文本结尾 1G:代表第一行
- H:当前窗口的第一行 M:当前窗口的中间 L:当钱窗口的最后一行
- (:上一个句子) :下一个句子
- {:上一个段落,是以空行分段落的 }:下一个段落
- ctrl+o:上一个编辑的位置 ctrl+i:下一个编辑位置
编辑对应目录下的文件
:e ../tmp/test.txt :e C:\\shopping\\monday.txt :cd../test.txt- :pwd 当前文件所在目录
剪切 删除 d
复制 拔起 y
粘贴 放置 p—>粘贴到光标右边dl:删除光标处的字符 dw :删除光标处单词 dd:删除当前行
- yy:复制当前行
- x:删除光标处的字符
- m 标记行,大小写字母标记
- u:撤销 ctrl+r:与撤销想反
返回多久前(后):
:earlier 4m
:later 50s
:undo 1----撤销一步
:undolist---查看撤消列表查找 / n依次向后查找 N依次向前查找
set incsearch:依次高亮
set ignorecase:忽略大小写
set smartcase:模糊查找,包含的都查出来
/\
可视模式
- 命令模式下按v进入可以模式(V选中整行)
- ap:选取一段
- aw:选取一个单词
- ~选中的大小写翻转
- ab 小括号里的所有东西
- a” “”里边的所有东西
git
git基本命令
git init 初始化本地仓库
git add . src file 把全部/文件夹下/文件添加到暂存区
git commit -m "desc" 提交到本地仓库
git status 状态
git diff 不同
git diff HEAD -- readme.txt
git log 提交记录
git log --pretty=oneline 简要版本提交记录
git reset --hard HEAD^ 回滚到上一个版本
git reset --hard HEAD~100 回到100个版本之前
git reset --hard commit_id 回到id是XXX的版本
git reflog
暂存区,不add就没法commit
git checkout -- file //把仓库中的check到工作区
git reset HEAD file
远程仓库
git remote add origin git@server-name:path/repo-name.git 添加到远程仓库
git push -u origin master 第一次push
git push origin master 多次push
git remote 查看远程库的信息
git remote -v 查看更详细的信息
git clone 克隆仓库到本地
git push origin dev 推送分支到远程仓库
git push origin master 推送master分支到远程仓库
git branch --set-upstream branch-name origin/branch-name 本地分支与远程分支简历联系
git分支管理
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
查看分支合并图:git log --graph
git log --graph --pretty=oneline --abbrev-commit
禁用fast forward 合并在log中看合并历史:git merge --no-ff -m "merge with no-ff" sloven
强行删除未合并的分支 :git branch -D <name>
bug 分支
git stash 保存工作分支状态
git stash pop 回到工作状态
冲突解决
先pull 合并解决冲突 后push 跟svn一样
标签
命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
命令git tag可以查看所有标签。
git tag -d v0.1 删除tag
git push origin v1.0 直接用tag名字push
git push origin --tags 一次性推送全部尚未推送到远程的本地标签
删除远程tag
git tag -d v0.9
git push origin :refs/tags/v0.9
设置别名
git config --global alias.st status
git服务器
搭建Git服务器非常简单,通常10分钟即可完成;
要方便管理公钥,用Gitosis;
要像SVN那样变态地控制权限,用Gitolite。
本文详细介绍Vim编辑器的基本操作技巧,包括多种编辑模式、常用命令和快捷键,并覆盖了Git版本控制系统的基础命令,从初始化本地仓库到远程仓库的推送、分支管理和标签管理等,适合初学者快速上手。

885

被折叠的 条评论
为什么被折叠?



