开发工具参考

VIM

文档工具

工程实践

操作系统

Git 使用笔记

基本配置

git config user.email "my_name@email.com"
git config user.name "my name"

设置SSH

如果已经生成过 ssh key pair,这里不必再次生成,复用即可。

ssh-keygen -t rsa -C "your email"

邮件地址可以不写,默认是本机用户名@本机机器名。最好是填写一些标识自己的记号。

然后一路回车,不要输入任何密码之类,生成 ssh key pair。

如果在 Linux 上,需要把其中的私钥告诉本地系统:

ssh-add ~/.ssh/id_rsa

再把其中公钥的内容复制到GitLab上。具体方法是:

显示ssh公钥的内容:

cat ~/.ssh/id_rsa.pub

在Gitlab网站My Porfile页面右下角,点击“Add Public Key”,粘贴刚才复制的内容到Key的大文本框,提交即可。

注意:在复制内容的时候,文本的两端都不要有空格和换行。

基本命令

假定开发需要的分支为branch_dev

把改动提交到本地版本库

  • git add <file>:添加文件到Git仓库,可反复多次使用,添加多个文件。

    git commit -am “我是提交注释”

  • -m 是加提交注释用;

  • -a 是告诉Git,当前所有的修改,都纳入本次提交。

把改动推送到服务器

在推送之前,需要先执行git pull把别人的改动拉下来合并,等同于 git fetch; git merge origin/branch_dev

然后使用git push推送到服务器。

这是 git push origin branch_dev:branch_dev 的简写。因为要push的是本地当前分支branch_dev,且其upstream分支名是origin/branch_dev,同名,所以可以全省略。

创建服务器端分支

  • git fetch:如果刚同步过,此处就不必再次同步
  • git checkout -b branch_dev origin/master:基于origin/master创建本地分支branch_dev,并检出。是git branch branch_dev origin/mastergit checkout branch_dev 的简写。现在branch_dev的upstream为origin/master。-b参数表示创建并切换
  • git push origin HEAD -u:相当于git push origin branch_dev -u,是git push origin branch_dev:branch_dev -u的简写。-u 的作用是把本地branch_dev的upstream由原先的origin/master改为origin/branch_dev。

把主线上的最新改动合并过来

  • git pull:等同于 git fetch 更新所有的远程分支,然后再 git merge origin/branch_dev
  • git merge origin/master
  • git push:是 git push origin branch_dev:branch_dev 的简写。因为要push的是本地当前分支branch_dev,且其upstream分支名是origin/branch_dev,同名,所以可以全省略。

同步远程参数

  • git remote add <name> <url>:创建了一个与远端仓库的关联关系
  • git config branch.branch_dev.remote <name>:指定当前分支使用的远程仓库
  • git push <name> HEAD -u:相当于 git push <name> branch_dev -u,是 git push <name> branch_dev:branch_dev -u 的简写。-u 的作用是把本地 branch_dev 的 upstream 由原先的 /master 改为 /branch_dev。
  • git push <name>:是 git push <name> branch_dev:branch_dev 的简写。因为要 push 的是本地当前分支 branch_dev,且其 upstream 分支名是 /branch_dev,同名,所以可以全省略。
  • git config branch.branch_dev.remote origin:当前分支使用的远程仓库恢复为默认仓库

常用命令

  • git init:初始化一个Git仓库
  • git status:查看工作区的状态
  • git clone:克隆远程版本库
  • git branch:命令会列出所有分支,当前分支前面会标一个*号。
  • git branch <name>:创建分支
  • git checkout <name>:切换分支
  • git checkout -b <name>:创建+切换分支
  • git merge <name>:合并某分支到当前分支
  • git branch -d <name>:删除分支
  • git log --graph:查看分支合并图
  • git rm:用于删除一个文件
  • git diff:查看修改内容
  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id。
  • git log:查看提交历史。
  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

VIM使用笔记

安装

cd /usr/local/src/vim/vim-7.4.942
sudo ./configure --prefix=/usr/local/vim --with-features=huge --enable-pythoninterp --enable-python3interp --enable-luainterp --enable-multibyte --enable-sniff --enable-fontset
sudo make
sudo make install

环境配置

  • 在Ubuntu中使用sudo apt-get install vim安装。
  • ~/.vimrc中加入一行:set number设置行号。
  • vimtutor:sudo apt-get install vimtutor

配置

参考配置

自用配置

" 显示行号  
set number
" 显示标尺
set ruler
" 设置当文件被改动时自动载入
set autoread
" 自动保存  
set autowrite
" 自动缩进  
set autoindent
" 智能缩进  
set smartindent
set cindent 
" 制表符
set noexpandtab
set smarttab
" Tab键的宽度
set tabstop=4
set expandtab
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 搜索逐字符高亮
set hlsearch                                                                                                                                     
set incsearch
set smartcase
" 不自动添加空行
set noendofline
               
syntax on   
filetype plugin indent on
runtime macros/matchit.vim
               
" 关闭 vi 兼容模式
set nocompatible
               
" Highlight current line
au WinLeave * set nocursorline nocursorcolumn
au WinEnter * set cursorline cursorcolumn
set cursorline cursorcolumn
               
set showcmd       " display incomplete commands
set laststatus=2  " Always display the status line
set fileencodings=utf-8,gb18030,gbk,big5
               
execute pathogen#infect()
" 不支持箭头的系统可以设置为加号
let g:NERDTreeDirArrowExpandable = '+' 
let g:NERDTreeDirArrowCollapsible = '+' 

let g:neocomplete#enable_at_startup = 1
                        
" 配色 需要放在pathogen#infect()后面
se t_Co=16                    
let g:solarized_termcolors=256
set background=dark           
colorscheme solarized  

插件

中文帮助 vimcdoc

cd /usr/local/src
sudo wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar.gz
sudo tar xvf vimcdoc-1.5.0.tar.gz
cd vimcdoc-1.5.0
sudo ./vimcdoc.sh -i 

插件管理 vim-pathogen

GitHub:tpope/vim-pathogen:manage your runtimepath

安装插件~/.vim/autoload/pathogen.vim

mkdir -p ~/.vim/autoload ~/.vim/bundle
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

~/.vimrc中添加:

execute pathogen#infect()

安装其他插件的方法:

cd ~/.vim/bundle
git clone git://github.com/tpope/vim-sensible.git

目录树插件 nerdtree

GitHub:scrooloose/nerdtree:A tree explorer plugin for vim

使用pathogen.vim安装:

cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree.git

使用apt-vim安装:

apt-vim install -y https://github.com/scrooloose/nerdtree.git

代码补全插件 neocomplete

GitHub:Shougo/neocomplete.vim:Next generation completion framework after neocomplcache

Debian (or Ubuntu)系统下的依赖:

-vim-nox
-vim-gtk
-vim-gnome
-vim-athena

使用pathogen.vim安装:

cd ~/.vim/bundle
git clone https://github.com/Shougo/neocomplete.vim.git

~/.vimrc中添加:

let g:neocomplete#enable_at_startup = 1

JSX 语法插件

mxw/vim-jsx:React JSX syntax highlighting and indenting for vim.

使用pathogen.vim安装:

The recommended installation method is via Pathogen. Then simply execute

cd ~/.vim/bundle
git clone https://github.com/mxw/vim-jsx.git

(You can install vim-javascript in an analogous manner.)

~/.vimrc中添加:

let g:jsx_ext_required = 0
let g:jsx_pragma_required = 1

ES6语法插件

isRuslan/vim-es6:List of JavaScript ES6 snippets and syntax highlighting for vim. - GitHub

使用pathogen.vim安装:

cd ~/.vim/bundle
git clone https://github.com/isRuslan/vim-es6.git

配色插件

PS:最牛逼的配色,不能推荐更多

GitHub:precision colorscheme for the vim text editor http://ethanschoonover.com/solarized

使用pathogen.vim安装:

cd ~/.vim/bundle
git clone git://github.com/altercation/vim-colors-solarized.git

~/.vimrc中添加:

" 配色 需要放在pathogen#infect()后面
se t_Co=16                    
let g:solarized_termcolors=256
set background=dark           
colorscheme solarized  

其他插件

Ubuntu 使用笔记

输入法的安装

除根据教程安装ibus输入法以外,还需要作一些设置:

  • 在系统设置 -> 语言支持设置中,键盘输入方式选择IBus。
  • 在系统设置 -> 文本输入设置中,添加使用的输入源。

生日

如果不是有人提醒

2015-10-24

如果不是有人提醒,

我几乎就忘了。

过去如梦的岁月,

不再回来。

过去的心不可得,

只是画着洗不掉的罪业。

如果不是有人提醒,

我几乎就忘了。

现在的时光易逝,

悄悄流去。

现在的心不可得,

只是舍受忧喜和苦乐。

如果不是有人提醒,

我几乎就忘了。

未来的一切,

如泡影不可捉摸。

未来的心不可得,

愿在净土中禅定解脱。

‌‌