MAC下shell配置

2 分钟读完

While there is a shell, there is a way.

1.配置使用zsh

brew install zsh  zsh-completions
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
chsh -s /bin/zsh
brew install git osx autojump 
autoload -U zmv

编辑自定义的zsh配置 .oh-my-zsh/custom/zjy.zsh

plugins=(git osx autojump)

#设置特定后缀名文件打开方式
alias -s html="open -b com.apple.safari "

alias h="history"
export HISTSIZE=200  #历史纪录条目数量
export SAVEHIST=200  #注销后保存的历史纪录条目数量

#设置go相关的环境变量
export GOPATH=$HOME/workspace/gosrc
export PATH=.:$PATH:/usr/local/go/bin:$HOME/tool:$GOPATH/bin

2.配置vim和go

主要用于golang开发,参考vim-go安装,参考vim-go教学利用,使用vim-plug做包管理器

安装vim/go

brew link lua
brew install vim --with-lua  #如果已安装brew unlink vim卸载
brew install go


#安装包管理器vim-plug/vim-go
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
git clone https://github.com/fatih/vim-go.git ~/.vim/plugged/vim-go
go get github.com/fatih/vim-go-tutorial
cp $GOPATH/src/github.com/fatih/vim-go-tutorial/vimrc ~/.vimrc

安装go组件

:GoInstallBinaries   
:GoUpdateBinaries

安装neocomplete

自动完成, <C-n> <C-p> 上下选择补齐项,TAB确认

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

#添加配置到 ~/.vimrc
Plug 'Shougo/neocomplete'

let g:neocomplete#enable_at_startup = 1

修改go模版增加

~/.vim/plugged/vim-go/templates/hello_world.go  
func must(err error) {
       	if err != nil {
       		panic(err)
       	}
}
func StartTime(name string) func() {
    t := time.Now()
    log.Println("entering:", name, "started")
    return func() {
        d := time.Now().Sub(t)
        log.Println("leaving:", name, "took", d)
    }
}

安装tagbar显示函数窗口

默认的ctags,不是tagbar要求的Exuberant ctags 5.5,配置时要指定目录

brew install ctags --HEAD

git clone https://github.com/majutsushi/tagbar.git    ~/.vim/plugged/tagbar

#添加配置到 ~/.vimrc
Plug 'majutsushi/tagbar'

"nmap <Leader>tb :TagbarToggle<CR>
let g:tagbar_ctags_bin='/usr/local/bin/ctags' 
let g:tagbar_width=30	
map <F3> :Tagbar<CR>
autocmd BufReadPost *.go,*.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen() 	"如果是c/go语言的程序的话,tagbar自动开启

安装NERDTree浏览文件系统的树形资源管理

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

#添加配置到 ~/.vimrc
Plug 'scrooloose/nerdtree'

let NERDTreeWinPos='left'
let NERDTreeWinSize=30
map <F2> :NERDTreeToggle<CR>

安装状态栏 ,使用了Airline提供更多状态栏支持

Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'

安装Markdown预览工具

npm -g install instant-markdown-d
~/.vimrc 添加Plug 'suan/vim-instant-markdown'

安装插件

vim -c PlugInstall

安装beego等模块

go get github.com/astaxie/beego

常用快捷键

参考 ~/.vimrc中配置

功能键 快捷键 功能  
:GoRun <leader>r 运行  
:GoBuild <leader>b 编译有错误跳转 <C-n> :cnext和<C-m> :cprevious
关闭错误 <leader>a :cclose
 
:GoTest <leader>t 测试  
:GoDoc <leader>d 生成文档  
:GoCoverage <leader>c 覆盖率  
:GoAlternate   切换文件,:A :AV :AS :AT  
:GoMetaLinter <leader>l 同时运行go vet/golint/errcheck  
:GoDef <C-t> <C-]> 跳转到定义处, <leader>v 垂直窗口<leader>s 水平窗口  
    <C-o> 返回上次光标处
:GoDecls   本文件中调用该函数的地方  
:GoDeclsDir <C-g> 本目录中调用该函数的地方  
:GoCallers      
:GoReferrers   调用该变量的地方  
:GoChannelPeers   该channel相关的地方  
:GoFiles   本包包含的文件  
:GoDeps   依赖的包  
:GoRename   修改变量名  
:GoFreevars   重构函数  
:GoImpl   为一个结构实现接口  
]]   跳到后一个函数  
[[   跳到前一个函数  
    <C-W-c> 关闭当前窗口, q/o
    <C-W-hjkl> 窗口间切换
:TagbarToggle F3 打开类窗口  
:NERDTreeToggle F2 打开文件浏览窗口  
  a-z/”0/”+ 有名寄存器/拷贝寄存器/系统剪贴板  
  :bp/:bn 同一个窗口中多个文件切换  

3.安装npm和nodejs

brew install npm      #3.x.x更高版本
brew install nodejs   #v4.x.x更高版本

默认npm版本不够,从https://nodejs.org/en/download/ 下载最新版本nodejs,目前内含node 6.9.2,npm 3.10.9

4.安装VS code

官方下载 安装插件

  • Go语法 publisher:”lukehoban”
  • jslint
  • TypeScript Import
  • TSLint

常用的快捷键: ⇧⌥F 格式化 ⌘⇧P 命令面板

如果只要用go,liteIDE也不错

5.安装angular开发环境

参考搭建本地开发环境

git clone https://github.com/angular/quickstart.git quickstart
cd quickstart
rm -rf .git   #不需要提交代码
npm install  #包括tsc编译器/lite-server
npm start   #ts编译器和server都是watch模式

如果没有异常,会自动打开浏览器访问3000端口

用VS code打开目录quickstart开始开发

  • TypeScript
     npm install -g typescript
    

    TypeScript 编译器,名称叫 tsc.编译后的是同名的js文件,默认是ES3

6. Go 多版本管理

下载go的pkg安装

会在/usr/local/bin/目录。这种方式删除有点困难,找到路径删除

pkgutil --pkgs | grep -i go    #找到包名com.googlecode.go
pkgutil --files com.googlecode.go  #找到2个路径/usr/local/go &/etc/paths.d

或者使用工具uninstallpkg

brew安装

会在/usr/local/Cellar/go/版本号。

多个版本可以考虑用gvm安装

zsh < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
gvm listall  #访问https://go.googlesource.com/go/查看可用版本
gvm install 

附录:其它命令简单参考

curl

-X POST url -d '{key}" 
-H "User-Agent: ..."  url
--user "username:password"  url
-L -c cookies url
-L -b cookies url

grep

-n -E "regular expressio"
-C n  匹配+前后n行
-B n  匹配+前n行
-A n  匹配+后n行

JSON访问利器jq

brew install jq

标签:

分类:

更新时间:

留下评论

您的电子邮箱地址并不会被展示。请填写标记为必须的字段。 *

正在加载...