tools
zsh
为啥需要zsh,因为能更快更方便的进行代码提示与代码补全,每个人的精力都是有限的,能打一个字母出来结果就绝对不打第二个。
plugins=(git brew mvn svn svn-fast-info sbt go pip zsh-syntax-highlighting npm)
vim
vim是大二学操作系统的时候看老师折腾红帽的时候看到的,发现这个编辑器很有b格,而且花花绿绿的很好看,后面就投入了一段时间,后面会贴出一些常用的插件,现在因为主力编程语言是scala,所以我开发工具是IDEA,在里面使用ideavim,然后通过.ideavimrc
改了一些键位的mapping,如果是写go或者python的那种小脚本我就会用vim
tmux + tmuxinator
tmux也是一个相当酷炫的工具,特别是大数据开发过程中会连很多服务器,而把生产环境,dev环境,test环境通过tmuxinator定义成不同的project,配置好了ssh免登陆之后妈妈再也不用担心我连接服务的速度了
cvim+chrome
浏览器我还是用chrome,虽然cvim
没有Vimperator
那么酷炫,但基本也够用了,关键是chrome的爹好,而且平时也用gmail啥的,账号同步还是比较方便的
note
笔记我原来用印象笔记,后面在ubuntu下用了一段时间为知笔记,为了markdown嘛,后来发现为知笔记的导出很难用,刚好现在换成mac了,就换成quiver
了,同步现在就用iCloud
scala
scala在使用过程中worksheet
和sbt
中的console是很多人一开始并不会去用的功能,但真心觉得这两个是project
级别的神器,另一个是无水scala群主,国内scala大牛老猪写的scalaconsole,在一些简单的语法上如果不想打开ide,那么这个也是一个神器,还有就是高亮scala的repl
: `alias scala='scala -Dscala.color'
,因为我用zsh,所以是在
.zshrc,如果是bash则是
.bashrc`中
idea
idea中插件也是很多的,我推荐几个我用的比较多的,一个是ideavim
,另一个是Key promoter
,最后还有zookeeper
防锁屏
在讨论问题时候,经常出现锁屏,所以我用一个叫caffeine
的小插件,可以防止电脑锁屏jdk版本切换
因为很多时候要编译一些source,在编译过程中需要用一些平时并不用的jdk版本,所以我是用了jenv
进行jdk版本切换的,因为编译通常只要在shell里面完成一次编译就可以,控制成session级别的还是比较赞的
文档助手dash
这个也是一个神器,特别是没网的时候能救命,哈哈
idea常见快捷键
智能提示
ctrl+space 自动出现
f2 移动到错误出现的地方
ctrl+shift+enter ,括号补全
重构
ctrl + shift + alt + t
alt+command+m method
alt+command+f field
alt+command+v var alias
shift + f6 rename
代码生成
fori/sout/psvm
command+j 查看所有模板
for(User user:users) users.for+Tab
Date brithday = user.getBrithday() user.getBrithday.var+Tab
editor
ctrl+shift+num bookmarks
ctrl+num jump to bookmark
折叠代码段
find
ctrl+h 类层次图 ,ctrl+b/ctrl+alt+b 跳转父子类方法
command + f12 当前类的全部方法
command+f/command+shift+f 当前窗口/全工程查找
F3/Shift+F3 查找跳转
other
command+shift+a 查看所有命令
alt+insert
格式化代码: ctrl+alt+l
格式化包: ctrl+alt+o
f7/f8/f9 step into/step over/continu
todo list
我的工作中的todo list现在都是用worktile,如果是个人的则用笔记记一下,写成markdown格式的
外设
鼠标
鼠标最近入手了一个罗技M570
,因为我用双屏,在双屏切换的时候甩动轨迹球还是比较爽的键盘
键盘最近入了个hhkb
,妈妈再也不担心我嫌弃键盘不好了显示屏
对于13寸的mac个人觉得扩展屏幕是必须的,因为,无论是看代码还是调试,还有刷github和知乎(捂脸),通常我把一边放浏览器和钉钉qq等交流娱乐的,另一块则是idea加iterm,而且我喜欢用竖屏,发现看代码再也不用翻页了,还有一个好处是竖屏的宽度大概刚好是80字符左右,代码规范也有了,23333, dell那个可以竖屏的屏幕还是相当爽的支架
办公桌上mac显得有点低,所以我30块钱在淘宝买了个酷奇的支架,还不错
效果是这样的:
vim plugin
"dev
Plugin 'gmarik/Vundle.vim' "package manager
"Common
Plugin 'tpope/vim-surround' "surroundings in xml,tags,quotes
Plugin 'tpope/vim-repeat' "repeat plugin command rather than the using the `.`
Plugin 'rhysd/conflict-marker.vim' "highlight ,jump and resolve conflict markers quickly in vim
Plugin 'jiangmiao/auto-pairs' "auto pair
"Plugin 'vim-scripts/delimitMate.vim' "same as auto pair
Plugin 'ctrlpvim/ctrlp.vim' "finder tag ,file in vim
Plugin 'tacahiroy/ctrlp-funky' "ctrlp-extension
Plugin 'easymotion/vim-easymotion' "vim motion on speed
Plugin 'mbbill/undotree' "undo tree
Plugin 'gcmt/wildfire.vim' "quickly select the colsest text object
Plugin 'tpope/vim-pathogen' "rutimepath manager
Plugin 'vim-scripts/sessionman.vim' "session save in $Home/.vim/sessions
Plugin 'vim-scripts/Conque-Shell' "shell in vim
Plugin 'vim-scripts/winmanager' "window manager
Plugin 'vim-scripts/TaskList.vim' "task manager td
Plugin 'vim-scripts/taglist.vim' "taglist
Plugin 'airblade/vim-gitgutter' "git diff
Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'
Plugin 'moll/vim-bbye' "buffer bye
Plugin 'rizzatti/dash.vim'
"color
Plugin 'vim-airline/vim-airline' "light as air
Plugin 'altercation/vim-colors-solarized' "color
Plugin 'spf13/vim-colors' "color
Plugin 'flazz/vim-colorschemes' "color colorscheme wombat
Plugin 'nathanaelkane/vim-indent-guides' "indent-guides in code can be easy to find
"Plugin 'vim-scripts/indentLine.vim' "display vertical lines
Plugin 'mhinz/vim-signify' "diff file using :h signify
Plugin 'osyo-manga/vim-over' "replace world highlight
Plugin 'vim-airline/vim-airline-themes'
"nerdtree
Plugin 'scrooloose/nerdtree' "file tree
Plugin 'Xuyuanp/nerdtree-git-plugin' "git
Plugin 'jistr/vim-nerdtree-tabs' "tab
"program
Plugin 'scrooloose/syntastic' "syntastic code
Plugin 'tpope/vim-fugitive' "Git Gstatus ,Gcommit ,Gblame,Gmove,Gremove,Ggrep,Gread,Gbrowse
Plugin 'mattn/webapi-vim' "web api support
Plugin 'mattn/gist-vim' "Gist suuport
Plugin 'scrooloose/nerdcommenter' "count code
Plugin 'tpope/vim-commentary' "comment stuff out ,gcc,gc
Plugin 'luochen1990/rainbow' "rain bow
Plugin 'majutsushi/tagbar' "ctags
"autocomplete
Plugin 'Valloric/YouCompleteMe'
Plugin 'SirVer/ultisnips'
Plugin 'honza/vim-snippets'
"python
Plugin 'klen/python-mode'
Plugin 'davidhalter/jedi'
Plugin 'yssource/python.vim'
Plugin 'vim-scripts/python_match.vim'
Plugin 'vim-scripts/pythoncomplete'
"scala
Plugin 'derekwyatt/vim-scala'
"Plugin 'derekwyatt/vim-sbt'
"Plugin 'vim-scripts/xptemplate'
Plugin 'ensime/ensime-vim'
"Plugin 'ktvoelker/sbt-vim'
"go
Plugin 'Blackrush/vim-gocode'
Plugin 'fatih/vim-go'
tmuxinator
windows:
- test-part-1:
layout: tiled
panes:
- ssh host1
- ssh host2
- test-part-2:
layout: tiled
panes:
-
- ssh host3
- ssh host4
- test-part-3:
layout: tiled
panes:
- ssh host5
- ssh host6
- test-part-4:
layout: tiled
panes:
- ssh host7
- ssh host8
- ssh host9