Mac/Linux下配置iTerm2+zsh+powerline美化终端窗口

Mac/Linux下配置iTerm2+zsh+powerline美化终端窗口

一、Mac/Linux支持哪些shell?

不管是在macOS还是Linux,默认使用的shell都是bash,但实际上,macOS/Linux有很多种shell可以用,如zsh、csh、ksh、fish、tcsh等等,默认支持的shell可以查看/etc/shells文件:

cat /etc/shells

二、为什么要使用zsh?

zsh是很多Mac用户喜欢使用的一个shell,我没有具体了解它相比bash有哪些优势,但就使用的体会来说,比bash好的几个地方是:

  • 1)按tab键跳转更智能,看,我输入cd后,直接按tab,或者输入想要进的文件夹按tab,它就会自动显示出匹配的目录,并且还可以通过按tab键/上下左右键来选中:
    ScreenFlow.gif
  • 2)目录和文件都颜色,很方便看出哪个是目录,哪个是文件
  • 3)样式好看,而且可以自己选择不同的主题样式
  • 4)如果当前目录是支持git的,还可以显示git当前是在哪个分支
    Xnip2018-11-07_13-18-49.png

三、怎样安装配置zsh?

1、安装zsh

对于Mac,系统本身就自带zsh,在/bin/zsh下,所以无需要安装。
对于Linux,如果是最小化安装的系统,有可能没有zsh,这时你直接使用以下命令安装就可以:
CentOS:

sudo yum -y install zsh

对于Debian系列Linux(如Debian、Ubuntu)

sudo apt-get -y install zsh

2、安装Oh My Zsh

由于自己配置zsh比较复杂,所以已经有人写好了配置zsh的工具,这个工具叫 Oh My Zsh,执行下面的命令即可安装(执行该命令必须先安装git: yum -y install git):

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

由于这属于个性化配置,所以普通用户和超级用户各都要自装一遍,由于Mac一般不直接使用超级用户,而是通过sudo -s进入超级用户,所以mac一般情况一只需要普通用户装一遍即可,如果你需要用susudo -i切换到超级用户,那么mac的超级用户也要再安装一遍,至于Mac到底怎样才算是超级用户,有几种切换到超级用户的方法,请认真看完以下两篇文章:
Mac开启root用户及切换到root用户的方法
Linux为普通用户设置sudo权限及通过sudo切换到root

如果是centos,你有可能遇到这个报错:

Cloning Oh My Zsh...
正克隆到 '/root/.oh-my-zsh'...
fatal: unable to access 'https://github.com/robbyrussell/oh-my-zsh.git/': Peer reports incompatible or unsupported protocol version.
Error: git clone of oh-my-zsh repo failed

如果遇到上述报错,请执行以下命令更新后,再重新安装:

yum update -y nss curl libcurl

安装好之后,光标应该是变成这样(可以换其他样式,往下看):
Xnip2018-11-07_13-13-40.png

其实所谓的安装,是下载了 Oh My Zsh 到你的家目录,执行cd ~即可进入家目录,Oh My Zsh就在.oh-my-zsh目录中,注意,由于点开头的文件是隐藏的,如果要用ls显示的话,需要用-a选项来显示ls -la ~ | grep oh
Xnip2018-11-07_14-37-58.png

但其实除了下载,它还自动执行了shell切换,即使用chsh命令执行了chsh -s /bin/zsh,用于把默认shell设置为zsh,所以网上很多教程说要执行chsh -s /bin/zsh,其实我实际测试,并不需要,因为安装Oh My Zsh的时候它已经帮我们执行了,用echo $SHELL即可检测你当前是什么shell,正常的话应该输出:

/bin/zsh

如果不是zsh,或者你退出再进再检测,发现不是zsh,那就执行一次chsh -s /bin/zsh命令切换到zsh就行。

3、配置Oh My Zsh

注意,由于已经切换成了zsh,所以对于以前开机启动的配置文件~/.bashrc/etc/bashrc等这些文件,都要换成~/.zshrc/etc/zshrc

对于Mac由于是使用普通用户安装的,当用切换到超级用户时,会报以下错误(Linux由于是普通用户和超级用户各自安装一遍,不会出现这个问题):

[oh-my-zsh] Insecure completion-dependent directories detected:
drwxr-xr-x   16 bruce  staff   512 11  5 01:46 /Users/bruce/.oh-my-zsh
drwxr-xr-x  257 bruce  staff  8224 11  5 00:20 /Users/bruce/.oh-my-zsh/plugins
drwxr-xr-x    4 bruce  staff   128 11  5 00:20 /Users/bruce/.oh-my-zsh/plugins/git
drwxr-xr-x    3 bruce  admin    96 11  4 22:14 /usr/local/share/zsh
drwxr-xr-x    4 bruce  admin   128 11  4 22:31 /usr/local/share/zsh/site-functions
lrwxr-xr-x    1 bruce  admin    39 11  4 22:31 /usr/local/share/zsh/site-functions/_brew -> ../../../Homebrew/completions/zsh/_brew
lrwxr-xr-x    1 bruce  admin    44 11  4 22:31 /usr/local/share/zsh/site-functions/_brew_cask -> ../../../Homebrew/completions/zsh/_brew_cask

[oh-my-zsh] For safety, we will not load completions from these directories until
[oh-my-zsh] you fix their permissions and ownership and restart zsh.
[oh-my-zsh] See the above list for directories with group or other writability.

[oh-my-zsh] To fix your permissions you can do so by disabling
[oh-my-zsh] the write permission of "group" and "others" and making sure that the
[oh-my-zsh] owner of these directories is either root or your current user.
[oh-my-zsh] The following command may help:
[oh-my-zsh]     compaudit | xargs chmod g-w,o-w

[oh-my-zsh] If the above didn't help or you want to skip the verification of
[oh-my-zsh] insecure directories you can set the variable ZSH_DISABLE_COMPFIX to
[oh-my-zsh] "true" before oh-my-zsh is sourced in your zshrc file.

从报错倒数第二行可以看出,我们在~/.zshrc中添加ZSH_DISABLE_COMPFIX=true即可解决这个错误,我把它加在这个位置:
Xnip2018-11-05_02-16-55.png
位置不一定要加在这,只要加在source $ZSH/oh-my-zsh.sh之前即可。
注意,修改.zshrc文件后,要用source ~/.zshrc重新加载该配置文件才能生效。

如果是Linux普通用户和root用户都要安装的话,一般是重复安装,普通用户装一遍,root用户装一遍,但root用户也可以不安装,直接把普通用户的.zshrc复制一份到root用户的根目录即可,但因为是root用户加载使用普通用户的配置,所以也需要设置ZSH_DISABLE_COMPFIX=true,否则进入的时候会报错,并且不会加载该配置。

4、配置zsh主题

~/.zshrc文件中,ZSH_THEME="robbyrussell"这一行即是设置主题的,robbyrussell就是主题名称,你可以把它换成别的名称,怎么知道有哪些名称可以换呢?执行命令ls -l ~/.oh-my-zsh/themes出来的都是主题,但要注意主题名称不包括.zsh-theme后缀,至于每个主题的样式是怎样的,你可以查看该项目的WIKI Oh My Zsh Themes 注意设置后用source ~/.zshrc重新加载一下。

5、修改zsh主题

比如我用agnoster主题(需要安装powerline字体,往下看)的时候,觉得前面这个“用户名@主机”太长了,主机没必要显示,因为肯定是本机,如果登录了其他远程机器,主题就由那个远程机决定了,跟本机没关系,所以我想要把@Bruces-MacBook-Pro去掉,并且修改一下背景颜色(黑色太难看了):
Xnip2018-11-08_15-12-45.png

agnoster.zsh-theme复制一份再改个名字,我改成了agnoster-custom.zsh-theme,在.zshrc里引用的时候,引用自定义的那个就好:

cp agnoster.zsh-theme agnoster-custom.zsh-theme

修改前:
Xnip2018-11-08_16-25-14.png
修改后:
Xnip2018-11-08_16-24-42.png
zsh语法手册:https://wiki.archlinux.org/index.php/zsh

解释一下:001、white、”%B%n%b”分别是三个参数,按顺序分别表示:背景色、前景色(文字颜色)、文字。%n表示当前用户名(比如切换到root,%n就是root),%n被大写的%B和小写的%b包起来,表示加粗(Bold粗体):

prompt_segment 001 white "%B%n%b"

另外,其实Oh-My-Zsh是有个自定义目录的~/.oh-my-zsh/custom,该目录下有“themes”和“plugins”两个目录,建议自定义的文件放到这里好点,当然你要放在原themes目录也可以。

后记:后来我还是觉得有个主机名好点,又修改了一下,有两种,大家可以直接下载使用:
样式一:点击下载
Xnip2019-03-17_13-24-22.jpg

样式二:点击下载
Xnip2019-03-17_13-16-26.jpg

前面说的背景色、前景色,既可以用颜色英文单词表示,也可以用数字表示,使用以下命令来显示色值表(安装oh-my-zsh后才会有这两个命令):
显示背景色:

spectrum_bls

显示前景色:

spectrum_ls

256种颜色色值表,左侧的数字即为颜色值,共256种(0—255),故颜色值最大为255。(完整图请看好用的vim配置文章的最后,或者你自己执行命令来显示也一样)
Xnip2018-11-08_16-56-01.png

当然也可以直接查看我这张色值图(每个格子左下角的三位数即为色值,而中间的是16进制色值,我们要填的是3位数的色值,16进制色值只是标明是什么颜色):
Xterm_256color_chart.svg

四、配置powerline

1、什么是powerline?

Powerline官网
powerline,power是强大的意思,line在这里指statusline(状态行/状态栏),合起来就是强大的状态栏,意思就是能让一些程序,比如vim/zsh/bash/tmux等状态栏变的更好看。

先放一个vim使用powerline后的演示,可以看到vim底部多了一个状态栏,当vim在命令模式时,显示NORMAL,在插入模式时显示INSERT,当vim在替换模式(按大写R进入)时,显示REPLACE,另外我还忘了演示按v进入可视化操作的时候,会显示VISUAL,并且还有文件名,当前系统编码等:

powerline-vim.gif

zsh使用powerline的演示,主要是不同用户颜色不一样,然后如果是git目录会显示当前分支(其实git是否有文件可以add,commit等等都会显示不同的状态的):

powerline-zsh.gif

注意:安装powerline后,vim和zsh都可以设置powerline支持,但也可以单独设置,比如我只想让vim使用powerline,而zsh不使用,这是可以的,因为zsh本身也有很多样式,未必没有powerline好看,这个看不同人喜欢的风格。

2、安装powerline

powerline其实就是用python写的一些脚本,所以所谓的安装,就是把它的这些脚本文件下载下来放到随便一个你想放的位置即可。

为了避免多用户使用多份powerline,我们把powerline脚本放在/usr/local下,就像我们安装软件也放在那下边一样。

powerline是开源的,代码就在github上,所以我们直接把它clone下来即可:

git clone https://github.com/powerline/powerline.git /usr/local/powerline

注意,网上很多用pip安装的,其实是一样的,最后也是下载这个github上的powerline而已,并且安装的目录会不一样。
如何更新:由于是用git下载的,所以以后偶尔到/usr/local/powerline目录下git pull一下即可更新。

我们刚刚从git下载到/usr/local的powerline的/usr/local/powerline/scripts目录中有一些命令会被powerline脚本调用的:

├── powerline-config
├── powerline-daemon
├── powerline-lint
├── powerline-release.py
└── powerline-render

我们要把这些命令要添加到环境变量中(添加到你的.bashrc.zshrc中,最后要source一下):

export PATH=/usr/local/powerline/scripts:$PATH

3、安装powerline字体

如果是服务器,可以略过这一步,字体只给有界面的系统用,如果你用的是linux桌面系统比如CentOS或Fodera或Ubuntu等等,才要做这一步
因为powerline会使用一些特殊符号来表示一些状态(比如目录箭头,git库状态等等),所以需要安装它提供的特殊的字体(其实就是普通字体加上了对powerline特殊符号的支持)。

因为Linux的系统字体是放在/usr/share/fonts目录中的,我们要支持powerline的特殊符号,按道理,把字体文件丢进该目录,然后重建字体缓存即可,实际上也可以这么做。但由于使用powerline是个性化设置,我们一般会把它放在用户的家目录中(这就意味着不同用户各自都要有一份字体在自己的家目录中)。

powerline的字体,也是在github上开源的,我们要安装,就要先把它下载下来(随便下载到哪个文件夹都行,反正安装好后就没用了,安装好后是要把它删除掉的):

git clone https://github.com/powerline/fonts.git

然后进入字体目录:

cd fonts

运行安装字体工具(其实所谓安装,对于linux,就是把它拷贝到用户家目录下的.local/share/fonts目录下而已(fonts目录默认不存在,是安装的时候它自动创建的),对于mac,就是把它拷贝到~/Library/Fonts/目录中):

./install.sh

安装好之后,就可以把刚才下载的字体删除了,因为“安装”这个操作已经把字体拷贝到~/.local/share/fonts(linux)或~/Library/Fonts/(mac)目录下了。

然后我们还要把一个特殊字体PowerlineSymbols.otf字体也下载到用户自定义字体目录中,从名字上看,它是用于支持一些符号的字体,但实际上在设置字体的时候又找不到这个字体,所以我也不是很清楚,官方文档是要把它跟github上的那组字体放在一起的:

对于Linux:

wget -O ~/.local/share/fonts/PowerlineSymbols.otf https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf

对于mac:

wget -O ~/Library/Fonts/PowerlineSymbols.otf https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf

然后把字体文件对应的配置文件下载到字体配置文件目录中(这一步mac不用做,Linux要做):

wget -O /etc/fonts/conf.d/10-powerline-symbols.conf https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf

强制刷新字体缓存(这一步mac不用做,Linux要做):

fc-cache -vf ~/.local/share/fonts/

fc-cache命令不存在?你需要安装fontconfig

yum -y install fontconfig

3、使用powerline

zsh使用powerline风格:
在.zshrc文件末尾引用powerline.zsh(前面我们是把powerline放在/usr/local下,所以powerline.zsh就在那里),引用方式是开头一个英文句点,然后空格隔开,然后是powerline.zsh的路径(不管你用pip安装还是自已git clone下来都是一样的道理):

. /usr/local/powerline/powerline/bindings/zsh/powerline.zsh

注意,如果你是bash shell,那么也是有bash shell支持的(目录结构是相似的,自己找找就找的到),powerline不只是支持zsh,它还支持bash,fish等等。

然后执行source ~/.zshrc加载配置文件,加载完,效果就出来了:
Xnip2018-11-07_14-14-18.png

然后我们在iterm2的偏好设置里把字体换成powerline的字体(我觉得Roboto Mono for Powerline最好看,你也可以试试其他的,只要powerline结尾的都可以)
Xnip2018-11-07_14-57-24.png

切换字体后的效果(可以看到?号已经没了),注意,在.zshrc里引用powerline后,powerline风格将替代zsh的主题风格,也就是说你现在去改zsh的主题,不管你怎么改主题都不会变了,因为已经被powerline替代了,而powerline又只有这一种风格(你可以改配置,但感觉也改不了太多):
Xnip2018-11-07_13-12-27.png

由于使用了powerline,Mac系统自带的『终端』也一样会有?号出现,虽然我平时都用iTerm2,但是终端的字体我也会改一下:
Xnip2018-11-07_14-53-12.png

由于启用powerline后,就无法修改主题,如果你觉得powerline那种主题不好看,也可以把.zshrc里引入powerline的语句前面加个#号注释掉,然后换一个你喜欢的zsh主题,其中agnoster是一个比较多人用的powerline风格的主题。

vim使用powerline风格:
对于mac,如果你用brew安装过vim,那么要先把它卸载了:

brew uninstall --force vim

然后重新安装macvim(使用的时候还是用vim,完全一样使用的):

brew install macvim --env-std --with-override-system-vim

对于Linux,用以下命令检查一下它是否支持python:

vim --version | grep +python

只要出现python的,就说明支持python,就可以用powerline(因为powerline是python写的),否则就要重装支持python的vim了:

Xnip2019-01-27_17-01-14.jpg

确定了vim支持python后,我们往vim配置文件.vimrc里加一句配置即可在vim中使用powerline:

set rtp+=/usr/local/powerline/powerline/bindings/vim

注意这个路径不用死记,你只要记得前面下载下来的powerline里面还有一个叫powerline的文件夹,然后powerline文件夹里又有一个叫bindings的文件夹(绑定的意思),我们要加载的东西,全部在这里面呢,看,除了vim和zsh,还有很多其他的:

Xnip2019-01-27_17-12-56.jpg

注意我们用的时候只要写到bindings下的某个目录即可,比如vim目录。

但这样还没完,你这样加,还是看不到vim有什么变化,还需要在刚刚那句后面加这个配置:

set laststatus=2

添加完全后,保存退出,然后用vim随便打开一个文件,就能看到vim的状态栏了:

Xnip2019-01-27_17-17-41.jpg

注:vim还有另一个插件叫vim-airline,与powerline类似但功能更强大。

五、使用iTerm2预设配色(Mac专用)

注意:这个调色不一定要做,只是个性化设置,你喜欢那些颜色就设置,不喜欢就不设置(保持默认纯黑色)。

下载并解压iTerm2预设配色(主要用于改变iTerm2的文字和背景颜色等,当然你也可以自己调):https://iterm2colorschemes.com

打开iTerm2,按cmd+i打开首选项,点击ColorsColor Presetsimport,然后进入刚刚解压好的文件夹中的schemes文件夹,全选,导入,然后你就可以再次点Color Presets→选择你喜欢的配色。
Xnip2018-11-08_14-19-01.png

最终我只在vim中使用了powerline,而没有在zsh中使用powerline(当然powerline字体是必须装的),而是使用了自已修改过的agnoster主题,因为powerline也只有一种风格,而我又不知道怎么自定义。

ScreenFlow12.gif

六、安装zsh-syntax-highlighting

安装 zsh-syntax-highlighting 后可以区分命令是否存在,敲命令的时候,存在的命令会显示绿色,不存在的命令会显示红色,这样很方便区分:
syntax-highlighting_optimized.gif

zsh-syntax-highlighting github地址:zsh-syntax-highlighting

zsh-syntax-highlightingclone下来放到~/.oh-my-zsh/custom/plugins/中,或者直接用下面这句写好的,执行这句就直接clone到~/.oh-my-zsh/custom/plugins/中了。

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

这里解释一下${ZSH_CUSTOM:-~/.oh-my-zsh/custom},这个可以简化成${var:-string},分割一下分别是:${}var:-(减号,另有+号用法)、string,var是变量,-(减号)代表当var为空时,用string替换整个${var:-string},否则用var的值替换整个${var:-string},当减号改为加号,即${var:+string}时,则反过来,+代表var不为空时,用sring替换整个${var:+string},如果var为空时,则用var替换整个${var:+string},也就意味着这么写,如果var为空,那么就代表整个${var:+string}为空。现在我们套入,var即为ZSH_CUSTOM,string为~/.oh-my-zsh/custom,则意味着如果ZSH_CUSTOM不为空,那么整个${ZSH_CUSTOM:-~/.oh-my-zsh/custom}就是ZSH_CUSTOM的值,否则如果ZSH_CUSTOM为空,那么整个${ZSH_CUSTOM:-~/.oh-my-zsh/custom}的值为~/.oh-my-zsh/custom,更多请参考:shell中的括号(小括号,中括号,大括号)

然后在~/.zshrc中的plugins里添加一下(每个插件名之间用空格隔开):

plugins=(
  git zsh-syntax-highlighting
)

退出重新进,或者新开一个tab重新进即有效果。它的效果主要表现在,如果一个命令没有的话它是红色的,有的话会变绿色,另外它会有个下划线,目前就知道这个效果。

七、安装zsh-autosuggestions

先来看看安装zsh-autosuggestions后的效果:
zsh-autosuggestions demo.gif

安装方法与安装zsh-syntax-highlighting完全一样,只不过插件名字不同而已。

先从github上下载到/.oh-my-zsh/custom/plugins目录中(这就是所谓的“安装”):

git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

然后在你的~/.zshrrc文件的plugins中,添加一个zsh-autosuggestions即可(与原来的项用空格隔开):

plugins=(
  git zsh-syntax-highlighting zsh-autosuggestions
)

最后读取一下新修改的.zshrc文件:

source ~/.zshrc

安装后,在你打命令的前几个字母后,即可以灰色(或其它颜色)自动显示该命令可能是哪个命令,如果你认为显示出来的是你想要的,那么你可以直接按方向键直接采用。自动提示,基本上是根据你输入过的历史来提示的。

注意1:自动提示并非“自动输入”(虽然看起来像是已经输入了),所以你必须按右方向键才能自动输入提示的内容。

注意2:可以echo $TERM看看输出的是否为xterm-256color,如果不是,那请运行以下语句,该语句会在~/.zshrc中添加一句export TERM=xterm-256color

echo "export TERM=xterm-256color" >> ~/.zshrc   #声明终端类型

另外,刚才说到,自动提示的颜色是灰色或其它颜色,以下是设置提示颜色为灰色的命令:

echo "ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=247'" >> ~/.zshrc #设置建议命令的文字颜色

fg=后面的数字就代表颜色值,至于什么数字代表什么颜色,请查看下表(每个格子左下角的三位数字就是颜色值,前面的0可以不写):
Xterm_256color_chart.svg

最后,别忘了读取一下修改后的.zshrc文件才会让配置生效:

source ~/.zshrc

八、zsh安装autojump支持

autojump可用于快速跳转到某个常用的目录:
autojump-demo_optimized.gif
这样,对于常用的又特别深的目录,只需要简单的敲几个字母即可直接跳转过去,减少了很多不必要的输入。

安装autojump

对于macOS:

brew install autojump

CentOS:

sudo yum -y install autojump

Debian/Ubuntu:

sudo apt-get install autojump

配置zsh支持autojump

ohmyzsh有一个autojump的插件:

~/.oh-my-zsh/plugins/autojump/autojump.plugin.zsh

要配置zsh支持autojump,我们只需要启用这个插件即可,在.zshrc的plugins里加上autojump就行(多个插件空格隔开):

plugins=(
  git autojump zsh-syntax-highlighting
)

然后,对于macOS,直接source一下~/.zshrc即可:

source ~/.zshrc

但对于centos(其他linux应该也一样),则还需要安装autojump-zsh

sudo yum -y install autojump-zsh

然后再source:

source ~/.zshrc

centos安装的autojump-zsh,实际上是往/usr/share/autojump目录中增加了一个autojump.zsh文件,在Linux中该目录默认只有autojump.bash,这是bash用的,不适合zsh,所以我们才需要安装适合zsh用的“autojump-zsh”。

zsh加载autojump的顺序

  1. .zshrc加载了source $ZSH/oh-my-zsh.sh
  2. $ZSH/oh-my-zsh.sh加载了autojump的zsh插件:
~/.oh-my-zsh/plugins/autojump/autojump.plugin.zsh
  1. Linux:autojump.plugin.zsh加载了/etc/profile.d/autojump.sh
    Mac:autojump.plugin.zsh加载了/usr/local/etc/autojump.sh
  2. Linux:autojump.sh加载了/usr/share/autojump/autojump.zsh
    Mac:autojump.sh加载了/usr/local/Cellar/autojump/22.5.1/share/autojump
  3. autojump.zsh调用了系统中的autojump命令,并且autojump.zsh中有一个叫j()的函数,正是因为有这个函数,所以我们在使用autojump的时候,可以直接用j来表示,这并不需要用alias来设置。其实不止有j()函数,还有jc()/jo()/jco(),这些命令都可以在终端直接使用,至于是什么意思可以网上查查。

autojump基本用法

前面用的j命令其实就相当于autojump命令的alias,就相当于我们在~/.zshrc中设置了alias j = autojump,autojump本身是一个独立工具,与zsh和ohmyzsh都没有必然的关系,也就是说,你用bash,一样可以用autojump,也可以自己把autojump设置简写为j,只不过我们现在用了ohmyzsh,就顺便用它来使用autojump而已。

j -h:查看autojump的用法。

autojump的原理是自动存储你平时用cd命令进入过的目录,并对它们自动进行排序,用j -s可以查看当前已存储的目录(第一列数字是排序权重,从小到大排):

33.2:   /usr/local/var/mysql
44.7:   /Library
53.9:   /Users/bruce/www/personal/PicUploader
56.6:   /Users/bruce/PicUploaderHelper-macOS
57.4:   /Users/bruce/Downloads
________________________________________

2758:    total weight
191:     number of entries
57.45:   current directory weight

data:    /Users/bruce/Library/autojump/autojump.txt

j 关键字:从已存储的目录列表中搜索关键字所指定的目录(关键字不区分大小写),如果未匹配到就不会转到到任何目录,如果匹配到了多个,那就会跳转到权限最大的那个目录里。

不在autojump数据库中的目录,你可以用j -a 目录绝对路径手动添加目录到autojump数据库中。

j -i(increase)增加当前目录的权重,也可指定增加多少j -i 整数(不过我测试了这个增加步长好像并不是按指定的数字增加的,我也不知道为什么);
j -d(decrease)减小当前目录的权重,也可指定减小多少j -d 整数

j --purge 清除autojump数据库中不存在的目录(比如目录已经被你删除了)

打赏

4
Leave a Reply

avatar
2 Comment threads
2 Thread replies
3 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
xiebruce小栗子j!n Recent comment authors

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subscribe  
Notify of
小栗子
Guest
小栗子

写得好详细啊,都是干货,good

j!n
Guest
j!n

帅气

扫码在手机查看
iPhone请用自带相机扫
安卓用UC/QQ浏览器扫

Mac/Linux下配置iTerm2+zsh+powerline美化终端窗口