1

这篇笔记主要是用来整理自己一直在使用的一些较为好用的终端工具/扩展。

因为我个人的终端配置是ZSH + iTerm2,所以本文的部分ZSH 扩展可能不适用于其他Shell用户。

brew

经常与终端打交道的用户,对这个一定不陌生,它就是类似Ubuntu下的apt-get这样的包管理工具。

通常我需要搭建一个全新的开发环境时,它一定是第一个需要安装的工具。

安装 brew(brew 官网

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

常用命令如下:

命令描述
brew search package搜索软件包
brew install package安装软件包
brew uninstall package卸载软件包
brew list列出已安装清单
brew help获取帮助

OSX 扩展

osx 扩展是zsh 提供的一个控制终端和访达(功能之一)的扩展工具。

其中最为常用是ofd命令,将当前shell窗口在访达中打开。

另一个较为常用的命令是cdf,可在shell中直接跳转至当前访达窗口所在的路径(如果存在多个访达窗口,那么跳转至最前面的那个)。

其他常用命令如下:

命令描述
tab在当前目录打开一个新窗口
split_tab在当前窗口打开一个水平窗口
vsplit_tab在当前窗口打开一个垂直窗口
ofd在访达窗口中打开当前目录
pfd返回最前面的访达窗口的路径
pfs返回当前查找程序选择
cdfcd 到当前访达窗口所在的路径
pushdfpushed 到当前访达目录
quick-look快速查看指定文件
man-preview在预览应用程序中打开特定的手册页
showfiles显示隐藏文件
hidefiles隐藏隐藏的文件
rmdsstore以递归方式删除目录中的.DS_Store文件

tmux

tmux 是一个终端下窗口分割的工具,有关它的具体介绍,请查阅这篇笔记

autojump

autojump - 目录快速跳转命令行工具,从此告别cd... cd...

autojump 是一个WindowsLinuxmacOS 都能使用的命令行工具,这是仅介绍macOS 的安装方式。

brew install autojump

使用brew安装完成之后,还需要进行配置,以下方法二选一:

  • ~/.bash_profile 文件中加入语句 [[ -s $(brew --prefix)/etc/profile.d/autojump.sh ]] && . $(brew --prefix)/etc/profile.d/autojump.sh
  • ~/.zshrc 文件中,修改 plugins=(git) 插件配置行,以开启 zshautojump 插件的支持 plugins=(git autojump)

常用命令

命令描述
j foo跳转到包含 foo 的目录
jc bar跳转到包含 bar 的子目录
jo file在访达中打开包含 file 的目录
autojump --help打开帮助列表

Spaceship ZSH

Spaceship ZSH——是一个极简、强大和可定制的ZSH提示符。

我是在无意间发现的这个终端工具的,先来看一下实际效果。

image

特点

Spaceship ZSH 有很多很棒的特点,这里仅仅列举一些我所看见的。

  • 颜值即正义
  • 展示当前Git 仓库的状态
  • 展示各种语言的当前版本
  • 展示最后一条命令的总执行时间

安装

Spaceship ZSH 的安装方式有多种,这里仅介绍通过oh-my-zsh的安装方式,其他方式可参考官网

  1. 克隆仓库
git clone https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
  1. spaceship.zsh-theme 链接到oh-my-zsh 的主题目录
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
  1. 编辑~/.zshrc
ZSH_THEME="spaceship"

tldr

tldr 是一个比man 更好用的命令行手册。

它衍生出了各种语言的客户端,这里直接使用官网推荐的方式进行安装:

npm install -g tldr

安装完成之后,第一次使用tldr命令需要下载相关依赖:

tldr tar
Page not found. Updating cache...
Error: connect ECONNREFUSED 127.0.0.1:443

如果出现上面这个输出,表示命令行需要使用代理,如果不知道如何设置,可以参考这篇笔记

正常输出如下:

tldr tar
✔ Page not found. Updating cache...
✔ Creating index...

  tar

  Archiving utility.
  Often combined with a compression method, such as gzip or bzip.
  More information: https://www.gnu.org/software/tar.

  - [c]reate an archive from [f]iles:
    tar cf target.tar file1 file2 file3

  - [c]reate a g[z]ipped archive from [f]iles:
    tar czf target.tar.gz file1 file2 file3

  - [c]reate a g[z]ipped archive from a directory using relative paths:
    tar czf target.tar.gz --directory=path/to/directory .

  - E[x]tract a (compressed) archive [f]ile into the current directory:
    tar xf source.tar[.gz|.bz2|.xz]

  - E[x]tract a (compressed) archive [f]ile into the target directory:
    tar xf source.tar[.gz|.bz2|.xz] --directory=directory

  - [c]reate a compressed archive from [f]iles, using [a]rchive suffix to determine the compression program:
    tar caf target.tar.xz file1 file2 file3

  - Lis[t] the contents of a tar [f]ile [v]erbosely:
    tar tvf source.tar

  - E[x]tract [f]iles matching a pattern:
    tar xf source.tar --wildcards "*.html"

上面那个node 的客户端不是交互式的,如果需要自动的,可以使用 tldr++,这是一个Go 语言编写的交互式客户端。

参考链接


0xBoo
151 声望12 粉丝

Stay foolish, Stay hungry