mac 下的新玩具

tools

  1. zsh
    为啥需要zsh,因为能更快更方便的进行代码提示与代码补全,每个人的精力都是有限的,能打一个字母出来结果就绝对不打第二个。

plugins=(git brew mvn svn svn-fast-info sbt go pip zsh-syntax-highlighting npm)

  1. vim
    vim是大二学操作系统的时候看老师折腾红帽的时候看到的,发现这个编辑器很有b格,而且花花绿绿的很好看,后面就投入了一段时间,后面会贴出一些常用的插件,现在因为主力编程语言是scala,所以我开发工具是IDEA,在里面使用ideavim,然后通过.ideavimrc改了一些键位的mapping,如果是写go或者python的那种小脚本我就会用vim

mac 下的新玩具_第1张图片

  1. tmux + tmuxinator
    tmux也是一个相当酷炫的工具,特别是大数据开发过程中会连很多服务器,而把生产环境,dev环境,test环境通过tmuxinator定义成不同的project,配置好了ssh免登陆之后妈妈再也不用担心我连接服务的速度了

mac 下的新玩具_第2张图片
mac 下的新玩具_第3张图片

  1. cvim+chrome
    浏览器我还是用chrome,虽然cvim没有Vimperator那么酷炫,但基本也够用了,关键是chrome的爹好,而且平时也用gmail啥的,账号同步还是比较方便的

mac 下的新玩具_第4张图片

  1. note
    笔记我原来用印象笔记,后面在ubuntu下用了一段时间为知笔记,为了markdown嘛,后来发现为知笔记的导出很难用,刚好现在换成mac了,就换成quiver了,同步现在就用iCloud

mac 下的新玩具_第5张图片

  1. scala
    scala在使用过程中worksheetsbt中的console是很多人一开始并不会去用的功能,但真心觉得这两个是project级别的神器,另一个是无水scala群主,国内scala大牛老猪写的scalaconsole,在一些简单的语法上如果不想打开ide,那么这个也是一个神器,还有就是高亮scala的repl: `alias scala='scala -Dscala.color'

,因为我用zsh,所以是在.zshrc,如果是bash则是.bashrc`中
mac 下的新玩具_第6张图片

  1. idea
    idea中插件也是很多的,我推荐几个我用的比较多的,一个是ideavim,另一个是Key promoter,最后还有zookeeper

  2. 防锁屏
    在讨论问题时候,经常出现锁屏,所以我用一个叫caffeine的小插件,可以防止电脑锁屏

  3. jdk版本切换
    因为很多时候要编译一些source,在编译过程中需要用一些平时并不用的jdk版本,所以我是用了jenv进行jdk版本切换的,因为编译通常只要在shell里面完成一次编译就可以,控制成session级别的还是比较赞的

mac 下的新玩具_第7张图片

  1. 文档助手dash
    这个也是一个神器,特别是没网的时候能救命,哈哈

idea常见快捷键

智能提示

  1. ctrl+space 自动出现

  2. f2 移动到错误出现的地方

  3. ctrl+shift+enter ,括号补全

重构

  1. ctrl + shift + alt + t

  2. alt+command+m method

  3. alt+command+f field

  4. alt+command+v var alias

  5. shift + f6 rename

代码生成

  1. fori/sout/psvm

  2. command+j 查看所有模板

  3. for(User user:users) users.for+Tab

  4. Date brithday = user.getBrithday() user.getBrithday.var+Tab

editor

  1. ctrl+shift+num bookmarks

  2. ctrl+num jump to bookmark

  3. 折叠代码段

find

  1. ctrl+h 类层次图 ,ctrl+b/ctrl+alt+b 跳转父子类方法

  2. command + f12 当前类的全部方法

  3. command+f/command+shift+f 当前窗口/全工程查找

  4. F3/Shift+F3 查找跳转

other

  1. command+shift+a 查看所有命令

  2. alt+insert

  3. 格式化代码: ctrl+alt+l

  4. 格式化包: ctrl+alt+o

  5. f7/f8/f9 step into/step over/continu

todo list

我的工作中的todo list现在都是用worktile,如果是个人的则用笔记记一下,写成markdown格式的

外设

  1. 鼠标
    鼠标最近入手了一个罗技M570,因为我用双屏,在双屏切换的时候甩动轨迹球还是比较爽的

  2. 键盘
    键盘最近入了个hhkb,妈妈再也不担心我嫌弃键盘不好了

  3. 显示屏
    对于13寸的mac个人觉得扩展屏幕是必须的,因为,无论是看代码还是调试,还有刷github和知乎(捂脸),通常我把一边放浏览器和钉钉qq等交流娱乐的,另一块则是idea加iterm,而且我喜欢用竖屏,发现看代码再也不用翻页了,还有一个好处是竖屏的宽度大概刚好是80字符左右,代码规范也有了,23333, dell那个可以竖屏的屏幕还是相当爽的

  4. 支架
    办公桌上mac显得有点低,所以我30块钱在淘宝买了个酷奇的支架,还不错

效果是这样的:mac 下的新玩具_第8张图片

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

你可能感兴趣的:(intellij-idea,vim)