资讯专栏INFORMATION COLUMN

mac 下的新玩具

canopus4u / 881人阅读

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

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在使用过程中worksheetsbt中的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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24850.html

相关文章

  • Java设计模式之策略模式详解

    摘要:下面我们就来介绍怎么用策略模式来解决这个问题。结果很快的跳很快的跑红蓝相间的超人狗不会跳不会跑红蓝相间的超人狗总结策略模式就是把所有的可变的行为都抽取出来放到接口中,然后定义很多的行为类去实现接口。 策略模式就是定义了一系列的的算法,将它们都单独封装起来,让他们之间可以相互替换,可以让算法的变化独立于使用算法的客户。 首先创建一个Dog父类,有run方法控制跑,jump方法控制跳,c...

    DevTalking 评论0 收藏0
  • Electron,从玩玩具的心态开始,到打造出一款越来越优秀的桌面客户端产品

    摘要:首发于酷家乐前端博客标题是我以第一视角基于开发客户端产品的体验,我将在之后分一系列文章向有兴趣的朋友一步一步介绍我是怎么从玩玩具的心态开始接触到去开发客户端产品,最后随着业务和功能的复杂度提升再不断地优化客户端。 首发于酷家乐前端博客 标题是我以第一视角基于 Electron 开发客户端产品的体验,我将在之后分一系列文章向有兴趣的朋友一步一步介绍我是怎么从玩玩具的心态开始接触 Ele...

    Markxu 评论0 收藏0
  • JS代码在什么位置可以换行

    摘要:一行过长的代码会影响阅读体验实际项目中,我们往往把过长的代码分成多行去写比如在中链经常要分成多行写对此本人想到一个问题就是中在什么地方换行是合法并且不破坏原有代码逻辑的探究这个问题过程中本人造了一个小玩具顾名思义它的作用就是在不破话代码的逻 一行过长的代码会影响阅读体验. 实际项目中,我们往往把过长的代码分成多行去写. 比如在js中, promise链经常要分成多行写. 对此本人想到一...

    chaos_G 评论0 收藏0
  • 关于降低锁的竞争程度------从奶爸的角度思考

    摘要:关于降低锁的竞争程度从奶爸的角度思考题外话这篇文章的灵感来源于近日带娃耍。具体可参考定律,大致可理解为处理器的利用率与处理器数量和串行比例成反比,此外,在锁上发生竞争,导致上下文切换的开销增加,进而降低程序的性能。 关于降低锁的竞争程度------从奶爸的角度思考 题外话:这篇文章的灵感来源于近日带娃耍。 锁竞争带来的问题 在锁上发生竞争,导致串行操作花费的时间比例增加,进而降低程序...

    YacaToy 评论0 收藏0
  • Python中什么是面向对象-封装

    摘要:文字有点长,对于不想看文字的朋友,可以去这里看视频,内容和这个文字一样的,视频可能更好理解回顾面向过程前面我们已经学过了面向过程我们知道,面向过程的时候,我们的关注点是步骤面向过程做事,就是把一件事情分割为多个步骤,然后依次去完成每一个步骤 文字有点长,对于不想看文字的朋友,可以去这里看视频,内容和这个文字一样的,视频可能更好理解https://www.piqizhu.com/v/yj...

    cangck_X 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<