## 《终端工具链》简介 终端工具链,就是对编程开发过程中所用到的各种命令行的工具进行高效的组合,不断的提升编程速度与开发效率。 在主流的系统中,Ubuntu的命令行最为强大,有丰富的命令行工具,可以很容易组合出自己的终端工具链; 其次是MacOSX,命令行也很丰富,再搭配上苹果电脑的硬件与系统,可以组合出流畅的终端工具链; 最后是Windows,命令行功能弱的可以忽略,但可以安装一个shell工具[git-scm](https://git-scm.com/downloads),使用一些基本的命令,如果需要更丰富的命令行工具,可以安装虚拟机或是远程连接云主机,使用Ubuntu。 命令行终端,与图形界面不同,是以一种文本化的方式与系统进行交互。 可以很直接、很高效执行各种系统操作,同时各种重复性的操作,都可以很方便的写成程序脚本,和系统命令一样直接调用,不断的提升操作效率。 在终端里,有大量丰富的命令可以使用,不可能全部掌握,一些基本的命令会使用即可。 但在开发流程,想提升编程速度与开发效率,就需要深入理解与熟练掌握这几个工具:zsh、tmux、docker、git、vim。 - **zsh** 和系统默认自带的bash一样,也是一种shell,不断的解析用户或脚本的输入,执行各种命令。但提供了更丰富的特性,如各种补全,命令补全、文件补全、历史补全,可以极大的提升操作效率。 - **tmux** 是一款高效的终端分屏器,可以在终端把一块屏幕分成多个小窗口,每个窗口都启动一个独立shell,这样就可以充分的利用屏幕,同时执行多个命令。 - **docker** 是一种容器软件,像虚拟机一样为应用软件提供一个完整独立的运行环境,但以一种更加轻量简捷的方式实现,极大的简化的软件的部署与分发。 - **git** 是代码的版本控制软件,用来管理代码的每次变化,分支与版本,本地与远程代码仓库,可以实现多人协作开发。 - **vim** 是一款强大的编辑器,通过模式化快捷键提升编辑速度,通过灵活的脚本与插件扩展丰富的功能。 使用zsh+tmux+vim的工具链,根据自己的使用习惯进行个性化配置,就可以极大的提升编程速度与开发效率。 ### zsh安装 Mac上自带zsh,不用安装,但Ubuntu上需要自己安装一下。 ``` $ sudo apt-get install zsh ``` 在Mac上,将zsh设置为默认的shell。 ``` $ chsh -s /bin/zsh ``` 在Ubuntu上,将zsh设置为默认的shell。 ``` $ chsh -s /usr/bin/zsh ``` 原生的zsh不是很好用,可以安装一个[zsh插件管理器](https://github.com/robbyrussell/oh-my-zsh)。 更多信息可以查看[ohmyzsh官网](https://ohmyz.sh/)。 ``` $ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" ``` 如果在Ubuntu上没有安装curl,可以安装一下。 ``` $ sudo apt-get install curl ``` ### tmux安装 [tmux源码](https://github.com/tmux/tmux) Ubuntu上安装 ``` $ sudo apt-get install tmux ``` Mac上安装 ``` $ brew install tmux ``` 如果Mac上没有brew,可以安装一下[Mac包管理器](https://github.com/Homebrew/brew)。更多信息参考[HomeBrew官网](https://brew.sh/) ``` $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ``` ### docker安装 [docker下载](https://www.docker.com/products/docker-desktop) [docker源码](https://github.com/docker/docker-ce) ### git安装 Mac上自带git,不需要安装,但Ubuntu需要自己安装一下。 ``` $ sudo apt-get install git ``` ### vim安装 Mac上自带vim,不需要安装,但Ubuntu需要自己安装一下。 ``` $ sudo apt-get install vim ``` vim通过丰富的插件,可以扩展很多功能,定制出完全个性化的编辑器。 但大量的插件手动维护太复杂,可以下载一个[vim插件管理器](https://github.com/VundleVim/Vundle.vim)。 ``` $ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim ``` 启用vundle插件管理:打开~/.vimrc,并添加以下第2行及以后的内容。 ``` $ vi ~/.vimrc filetype off set nocompatible set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim' call vundle#end() filetype plugin indent on ``` #### YouCompleteMe安装 vim只是编辑器,如果需要语法检查与补全功能可以安装插件[YouCompleteMe](https://github.com/Valloric/YouCompleteMe)。 打开.vimrc配置文件,添加插件。 ``` $ vim ~/.vimrc Plugin 'vim-syntastic/syntastic' Plugin 'Valloric/YouCompleteMe' ``` 保存配置文件,重新打开vim,并执行安装命令。 ``` $ vim :PlugInstall ``` 由于网络原因可能下载不了,可以手动下载插件。 ``` $ git clone https://github.com/Valloric/YouCompleteMe ~/.vim/bundle/YouCompleteMe $ cd ~/.vim/bundle/YouCompleteMe $ git submodule update --init --recursive ``` 不论是用vundle安装或手动下载,都需要进入插件目录进行编译安装。 ``` $ cd ~/.vim/bundle/YouCompleteMe $ ./install.py --clang-completer ``` Ubuntu上如果没有cmake还需要安装一下。 ``` $ sudo apt-get install cmake ``` #### vim源码安装 vim默认不支持python的语法补全,如果需要用到python,可以下载[vim源码](https://github.com/vim/vim),编译安装。更多信息查看[vim官网](https://www.vim.org/) ``` $ sudo apt-get install python $ sudo apt-get install python-pip $ sudo apt-get install python-dev $ sudo apt-get install libncurses5-dev $ sudo apt-get install build-essential $ git clone https://github.com/vim/vim.git && cd vim $ ./configure --with-features=huge\ --enable-pythoninterp\ --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/\ --enable-multibyte\ --prefix=/usr/local/vim8/ $ make -j8 $ sudo mkdir /usr/local/vim8 $ sudo make install ``` ## 基本功能使用 打开终端,体验基本命令。 - 在Ubuntu中,按Ctrl+Alt+T,可以直接打开终端。 - 在Mac中,打开Finder,然后,应用->实用工具->终端。 - 在Windows里,先安装[git-scm](https://git-scm.com/downloads),然后打开应用Git bash。 输入"date",并按回车,即可查看当前日期与时间。 ``` $ date Wed Sep 12 09:32:53 CST 2018 ``` 输入"pwd",并按回车,即可查看当前所在目录。 ``` $ pwd /Users/shaoying ``` ### zsh使用 ### tmux使用 ### docker使用 ### git使用 ### vim使用 ## 个性化配置 ## 源码解析