LINUX 探索之路
LINUX 探索之路
Table of Contents
1 前言
- 开源,分享,交流,合作
- 工欲善其事,必先利其器
- 无偿使用了他人的东西,你也会自发的分享自己的,这就是互助的基础和动力。
- 终于下定决心来到linux世界,正如《unix编程艺术》中所说的:
开源社区 有严格的工具套装,彼此合作,组合起来成为强大的系统 善用工具,尽可能将一切都自动化
- 既然来了,那就得用好linux上的工具,真正提高日常工作效率(用的是ubuntu 14.04LTS)。
2 配置
2.1 vim
- 来到linux之前已经基本熟悉了vim的操作(win上用的是gvim,linux上还是喜欢gvim,界面漂亮点)。
- 懒得自己探索,直接上牛人amix的配置。
- 熟悉amix的配置,直接通读了他的配置文件,我觉得这是最快的方法。
2.2 emacs
- 学emacs的好处就不在重复了,网上大把文章。尤其你会发现,快捷键操作跟shell基本一致, 而且日常的工作都可以用emacs轻松搞定。
- 没接触过emacs又感兴趣的推荐看这篇文章:一年成为Emacs高手
- 我也是看了这篇文章(当然也看过好多其他的文章),才学了很多关于emacs的东西。 来linux之前,已经在win上折腾了前前后后一年多的时间了(但总感觉win上用的不顺手), 已经掌握了emacs的使用方法,学了elisp,看过文章推荐的Writing GNU Emacs Extensions,懂基本的配置。
- 推荐几本书(其实也是网上的大神们推荐的,基本是e文)
Emacs Pocket Reference GNU Emacs 23.3 Lisp Reference Manual (Free Software Foundation, 2011) GNU Emacs Manual Writing GNU Emacs Extensions
- 参考了github上三个牛叉的配置:
- 我的emacs配置 还未测试过能否`git clone`下来就能用,仅供参考
- 基本的`git clone`了purcell的配置,然后,参考其他两个的配置,做了了一些修改:
- 增加了el-get,包安装工具(有些安装包在elpa上找不到)
- 增加了evil-*的支持,主要参考了redguardtoo文章的建议,(具体的可以围观我的github)包括:
evil-leader : add leader key. evil-surround. evil-nerd-commenter : comment. evil-matchit : match praredit. evil-visualstar. evil-escape : escape other state to normal state. evil-snipe : enable 2-char find. evil-tutor : evil tutor.
- 增加了python开发环境的完整支持(开发要用到), 参考过这篇文章Configuring Emacs as a Python IDE
jedi : performed as python backend. ein : communicate with ipython notebook. pep8 and pylint : style format. pylookup : doc search.
- 其他的
- 去掉一些初始化配置(暂时用不到)
- 增加我自己的快捷键使用习惯
- 当然,这个过程不是一帆风顺,要不断的试,debug,解决冲突
- 基本的`git clone`了purcell的配置,然后,参考其他两个的配置,做了了一些修改:
2.3 输入法配置
- 用了ubuntu自带的ibus输入法,中文输入用了google-pinyin(总感觉不好用,很一般), 听说有搜狗输入法(未试过)。
- 一个头疼的问题
- 在emacs的gui环境中无法弹出中文输入框,输入不了中文,网上搜了好多都没用 (暂时先搁置,没那么多时间,有空再折腾),
- 不过,emacs在terminal下是可以输入中文的(这篇文章的中文就是在terminal下面写的)
- 另外,gvim是可以输入中文的,唉,搞不懂了(高手给点建议)
2.4 bash
- 一年前就已经蜻蜓点水般的玩过linux,也算是打了点基础。
- 看过以下几本书(关键还是要不断实践)
鸟哥的linux私房菜(很久很久以前看的) Shell Inroducition,(中文版的) linux权威指南 Unix Power Tools ...
- 我的一些.bashrc配置,纯个人喜好。
function lpl(){ ls -al | percol --query=$1 } function lg(){ local lspath=$1 local grepword=$2 ls $lspath -alF | grep -i $grepword } function cg(){ cat $1 |grep $2 } function bk(){ # backup given file or directory # add .bk to the end. cp -r $1 $(basename $1 /).bk } # src for source alias src=source # pushd and popd alias alias psd='pushd' alias pod='popd' # cds alias cd1='cd ../' alias cd2='cd ../../' alias cd3='cd ../../../' # add $HOME to the current directory search path CDPATH=:$HOME:/media/ export CDPATH # emacs alias em='emacsclient' alias emt='emacsclient -t' alias emc='emacsclient -c'
- 其他一些琐碎的配置,纯粹是为了~懒~,主要是在网上东找西找过来的
2.5 Ag 和 percol
- Ag,强烈推荐,很好用的工具,我的另一篇文章`python优秀文章索引`,就是通过ag和emacs从书签中提取出来的 有emacs和vim的插件,真心好用。
- percol,是redguardtoo文章中推荐的,可以做到动态过滤。 (建议想玩emacs的得认真把他的文章看几遍,反正我是前前后后看了十几遍)
2.6 git
- 这个不用多说,coder必备,看过一本书,Pro git,具体的还是要靠实践。
- 除了管理代码,还可以管理很多日常的工作,我的博客文章就是用git来管理的。
2.7 github
- 互联网时代必备,存放项目源码,不多说。
- 我的github 刚设立,目前还只是一些小项目,练手用的,内容还不够丰富,会不断更新。
2.8 Tmux
- 一个方便的shell会话管理工具和远程登录工具。
2.9 misc(杂项)
- linux下还有好多工具和指令要学,比如说awk,grep,chmod,…, 用的最多的估计要数这三个指令了
man, info, [command] -h(--help)
- 建了个~/scrach/文件夹,平时那些随手的东西都直接往里面丢,有空再把有趣的整理出来
- 建了些~/.* 的文件,如~/.linux-command,然后写个脚本
# stcmd.sh echo $1 >> ~/.linux-command
- 一碰到好用的命令就丢进去, 可以作备忘,有空再整理出来
- 建了个.sh发布环境,管理我自己的脚本,重复琐碎的,可以自动化的事都在.sh下完成
3 后言
- 原来博客园中的博客是直接支持html的,这样就可以用emacs的org-mode来写博客咯,然后自动生成html, 方便好多啊,只是不支持js代码,所以还得手动删掉(ps: 这篇文章就是用org-mode写的)。
- 探索linux也不是件容易的事,有时也是被搞得焦头烂额,还好对e文免疫。
- 如果我们可以利用linux来加快工作效率,那么就可以节省下时间来陪家人,陪朋友,体验生活,何乐而不为。
- 探索的过程本身就充满了乐趣。
- 最后,还是那句:分享,交流。
- (谢谢阅读,alpa版,有错误和疏漏的地方欢迎指正,后续更新)