我工作中主要用到Java、Shell,以及后来由于工作需要不得不用的JavaScript,偶尔也会用到Python处理一些脚本性的东西。
在开发的时候,听说过Google style之后,都会将tab制表符换成两个空格,这个对我来说已成惯例。
- IDE– Intellij Idea
- 文本编辑器 – Vim、Atom
- Shell – iTerm2、zsh、mtux、Solarized Dark
- Git – git命令行、Github Desktop/SourceTree
- 编程字体 – SourceCodePro、mplus(m+)、Anonymous Pro
IDE – IntelliJ Idea
原先是用Eclipse JavaEE版本的,用的时候感觉加载不必要的插件太慢,后来听说Idea后改用了一下,确实挺不错的。
不管是在代码提示、处理性能方面,都比Eclipse要好一些。这是由于Idea后台会运行一些线程做一些工作,将顿卡的问题在后台处理掉,不过这个也有弊端,就是机器发热比较大。
Idea的上手成本可能有点高,他大部分快捷键是Mac风格,跟Eclipse还是有比较大的差异的,不过习惯之后确实非常好用。
Idea有社区版、收费的Ultimate版本,还有教育版本。
文本编辑器 – Vim(MacVim)、Atom
Vim
在接触Vim之后确实恋上了,这个不用多说,大家都知道。用Solarized Dark主题,没有装太多的插件,因为我一般主要是用来处理一些文本的东西,看看日志之类的。
Atom
github旗下的Atom确实很让人喜欢,之前比较喜欢Sublime Text,但在接触Atom之后,就对这个编辑器爱不释手。以Node为核心,完全的一个Web应用但能以App的形式运行,确实让人惊奇。
Atom让我喜欢的地方
- 界面
我是一个喜欢游戏的人,在游戏的载入画面中如果有一些技巧、提示之类的东西,会让我对这个游戏有更好的认同感。
Atom就是这样一个东西,当你把所有Tab页关掉之后,他有一人各种功能、快捷键的提示。- 快捷键
Atom快捷键跟我用的其他工具比较接近,用起来感觉顺手一些。这是个见仁见智的问题了吧。- 代码提示
这个功能确实很爽,在不需要装太多插件的前提下就能实现。
在之前某处代码有命名一个变量的话,在后续编码过程中只要输入不超过3个字母就能提示这个变量,这确实很吸引我种不喜欢一个字一个字码代码的人。
我的Atom插件
- VIM-Mode
像vim一样实现键盘控制,不过目前这个插件还不支持命令模式,经常输入:w发现没有效果。- markdown-preview-plus
用来写blog, ctrl+shift+m打开,挺好用的,即时查看。
缺点就是不能移出去,对于我13寸的屏幕来说确实有点拥挤。
Shell
终端 - iTerm2
嗯,这个有什么好的,目前我也还没有体会到,只是当初在网上找的时候发现很多人都说这个错,配合mtux+zsh是神器之类的,所以就开始用了。目前发现确实还是挺好用的,比默认的Terminal之类的要方便一些,毕竟有一些快捷键和功能确实挺不错。
Shell - zsh
以前接触Linx的时候只知道bash,后来找终端的时候看到有人介绍说zsh是很多程序员用必备的一个东西。
等到真正下下来安装完用了一段时间之后,确实感觉离不开了。
- 现成的主题,在github上有很多。只要将主题放到 ~/.oh-my-zsh/themes下之后,在 ~/.zshrc中配置一下就可以。不仅有对于git分支的显示,还有靓丽的色彩。
我的主题配置如下:
1 $ ZSH_THEME="robbyrussell"
- 对于git的集成。只要进入到git工程目录下,就会有对于git的各种命令行上的提示,比如这种:
1 ➜ /Users/wangtingbang/prog/git-work/wangtingbang.github.io git:(master) ✗
- tab 党的福音
像对于各种目录,命令之类,不再需要从第一个字母开始输入,通过输入的几个字符,zsh就能自动匹配到目录、命令,如果有多个目录,多次按tab选定之后回车就行,甚至只要输入一个目录,回车一下就可以进入。
mtux
目前没有感觉到哪有什么好处,对于这个我用得不太多。(感觉自己有点low)
Solarized Dark主题
对于经常熬夜干活的人来说,这个暗色的主题还是挺不错的。
代码管理 – git
用命令行的git基本就已经够用,但是命令行的git在版本对比功能(diff)上个人不太习惯,很多时候要借助于Github Desktop或者SourceTree
自己常用的代码管理过程中的git命令:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46#用于clone远程代码库
git clone $URL
##-----更新代码Start----
#在很多文章甚于于git的各种代码的README中都能看到更新代码用git pull
#但pull的方式个人不习惯于用
#原因是刚开始用的时候这个命令把我自己本地的修改给覆盖了
#将远程代码取到本地,但不会更新到本地代码中
git fetch
#-----将自己代码暂存----
git stash
#rebase,将fetch下来的代码更新到本地,实际上是变了本地代码的头指针
git rebase origin/$BRANCH
#将本地暂存的代码取出来,可能出来以后会发现有很多冲突(confilits)
git stash pop
##----代码维护----
#简单地查看变更记录
git log
#对比本地文件FILE与代码库中的变更,一般用于自己修改过这个文件之类
git diff -- $FILE
#代码冲突解决,或者自己误添加文件到提交中的后,这个用于解决冲突和恢复
git reset HEAD $FILE
##----代码提交----
#添加一个文件到提交中,也可以直接用git add . 这种比较暴力的方式把所有文件添加
git add $FILE
# 提交代码,这个提交只会保留在本地的git库中
git commit -m "message"
#推送代码到远程服务器的BRANCH分支
git push origin HEAD:refs/heads/$BRANCH
#也可以用这种方式推送代码
git push origin $BRANCH #也可以用这种方式推送代码
#当远程分支开启的code review之后以这种方式提交
git push origin HEAD:refs/for/$BRANCH
编程字体
SourceCodePro
在IDE、iTerm2、vim还是Atom中都有很不错的表现。
mplus(m+)
我主要在iTerm2中用,一行中能够显示比较多的字,这个字体的c、p、2c、2p等好多种,从细到粗都有,并且每一种的样式都有比较大的区别。适合在终端中使用,看日志、对比文件之类的时候非常好用。
Anonymous Pro
以前在Eclipse中用,字体整体比较细,略有尖锐的感觉,看上去比较显眼。
=============== 以下无正文 ==============