Tech:Zsh配置

配置 zsh terminal shell,基于 oh-my-zsh ,YK 流。

简述本文

最少的精力配置 zsh,够用就好,适量使用技巧

基于 oh-my-zsh,部分内容可能与前文有稍许重复,但是具备一致性。

简单配置

前文已经说了,其实简单配置已经够用了:

简单调整 .zshrc 文件:

1
2
3
4
5
plugins=(
git
osx
autojump
)

这里的插件提供了很多命令行功能,比如 j,比如 cdf, 比如有glg,可以自行学习一下(which glg)。

如果 j 失败的话,自己手动安装一下 brew install autojump 然后再用。

其他的插件,诸如 golang, docker, virtualenvwrapper 等也都类似提供了快捷指令。

深度配置

但是放在家里的 Mac 比起随身携带的笔记本,一般很多年不变(不坏),所以专业级配置是值得的。

我也是根据网友的先验经验,然后经过自己修剪,整理。

原则: Less is Enough.

主题:

我个人一般不喜欢折腾主题,默认的 robbyrussell 就挺好的: It’s just the right one

(因为我上学期间就花费了足够的时间折腾 Ubuntu14 的主题,搞成 OSX 的样子,又如何呢?)

其他:

zsh 的 补全快捷操作 真的太方便了,开启智能提示(在.zshrc)中:

1
2
autoload -U compinit
compinit

之后,zsh 会根据你使用的命令行,然后基于当前命令给与可用的命令提示,以及命令行选项:

1
2
3
4
5
6
7
8
$ git commit - (TAB)
--all -a -- stage all modified and deleted paths
--allow-empty -- allow recording an empty commit
--allow-empty-message -- allow recording a commit with an empty message
--amend -- amend the tip of the current branch
--author -- override the author name used in the commit
--branch -- show branch information
--cleanup -- specify how the commit message should be cleaned up

其他也没有多配置的必要,只是注意一些技巧

  • 1.不用 cd,直接输入路径的全路径名,即可切换
  • 2.j 跳转到最匹配的,曾经访问的目录
  • 3.dirs -v 可以查看曾经访问过的目录
    • 然后用 ~号码(从1开始)直接访问,比如 ~2 访问列表的第二个
  • 4.d 等于 dirs -v | head 10
  • 5.!!回显上一条命令 (其实你熟悉 emacs 的话,Meta + p) ,更强大的是输入主命令后再回显,可以无限往上追溯该命令有关的历史命令

其他太多了,我懒得说,您可以参考这个网站

个人强烈建议,别定制太多

兼容 emacs shell mode

其实已经说过了,如何在 shell-mode 下显示色彩问题,摘录如下:

兼容zsh: 还需要设置一下 shell-mode 的颜色(其type为 dump,而非 term):

创建 dumb-emacs-ansi.ti 文件,然后引入

1
2
3
4
5
6
dumb-emacs-ansi|Emacs dumb terminal with ANSI color codes,
am,
colors#8, it#8, ncv#13, pairs#64,
bold=\E[1m, cud1=^J, ht=^I, ind=^J, op=\E[39;49m,
ritm=\E[23m, rmul=\E[24m, setab=\E[4%p1%dm,
setaf=\E[3%p1%dm, sgr0=\E[m, sitm=\E[3m, smul=\E[4m,

注意,必须要有 EOF(简单说,最后要有一个空行)

编译 tic dumb-emacs-ansi.ti,它会在 ~/.terminfo/64/dumb-emacs-ansi 生成文件。

~/.terminfo路径已经自动包含了,此时只需要在自己的环境中引入颜色配置即可。

1
2
3
if [ "$TERM" = dumb ] && [ "$INSIDE_EMACS" ]; then
export TERM=dumb-emacs-ansi COLORTERM=1
fi

emacs-shell.

嫌弃颜色不好的,可以照抄 infocmp xterm 的配置,请量力而行。


Zsh 可玩性很强,如果你用来玩的话。

CH-YK 2019-03-30 书写,2019-04-03 发布


文章目录
  1. 1. 简述本文
  2. 2. 简单配置
  3. 3. 深度配置
  4. 4. 兼容 emacs shell mode
|