oh-my-zsh
oh-my-zsh
这里以在 WSL 中安装为例
安装
安装 zsh
先看下自己有哪一些 shell
|
|
如果没有 zsh 需要安装
|
|
安装 oh-my-zsh
https://github.com/ohmyzsh/ohmyzsh
Method | Command |
---|---|
curl | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
wget | sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
fetch | sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
Note that any previous
.zshrc
will be renamed to.zshrc.pre-oh-my-zsh
. After installation, you can move the configuration you want to preserve into the new.zshrc
.
此时我们可以根据该项目 readme 切换主题
|
|
修改
|
|
保存后
|
|
记得下一款适配的字体哦
插件
开启方式
|
|
第三方插件
autojump
自动跳转插件
|
|
zsh-autosuggestions
命令自动补全插件
|
|
在 .zshrc
上添加这个插件
|
|
zsh-syntax-highlighting
高亮插件,基于 zsh
|
|
在 .zshrc
上添加这个插件(记住要放在最后一个)
集合脚本
|
|
然后加到 ~/.zshrc
中即可
git-open
https://github.com/paulirish/git-open
提供一个 git-open 命令,在浏览器中打开当前所在 git 项目的远程仓库地址。
|
|
用法
|
|
内置插件
git
定义了有关 git 的 alias。常用的有
- gaa = git add –all
- gcmsg = git commit -m
- ga = git add
- gst = git status
- gp = git push
tmux
定义了有关 tmux 的 alias。常用的有
- tl = tmux list-sessions
- tkss = tmux kill-session -t
- ta = tmux attach -t
- ts = tmux new-session -s
extract
提供一个 extract 命令,以及它的别名 x。功能是一键解压
你知道 tar 的四种写法吗?我也不知道,所以我装了这个。从今以后 tar, gz, zip, rar 全部使用 extract 命令解压,再也不用天天查 cheatsheet 啦
rand-quote
提供一条 quote 命令,显示随机名言。和 fortune 的作用差不多,但是我感觉 fortune 上面大多是冷笑话,还是 quote 的内容比较有意思。
当然这种东西很少有人会主动去按的。所以你可以在你的 zshrc 里面的最后一行加上 quote,实现每次打开 shell 显示一条名言的效果~
再进一步,安装一个 cowsay,把 quote | cowsay 放到 zshrc 的最后一行。于是每次打开终端你就可以看到一头牛对你说:
themes
提供一条 theme
命令,用来随时手动切换主题。在想要尝试各种主题的时候很实用,不需要一直改 zshrc 然后重载。
gitignore
提供一条 gi 命令,用来查询 gitignore 模板。比如你新建了一个 python 项目,就可以用
|
|
来生成一份 gitignore 文件。
cp
提供一个 cpv 命令,这个命令使用 rsync 实现带进度条的复制功能。
感觉不是很对劲,我反正是没用
z
提供一个 z 命令,在常用目录之间跳转。类似 autojump,但是不需要额外安装软件。
vi-mode
vim 输入模式
per-directory-history
开启之后在一个目录下只能查询到这个目录下的历史命令。按 ctrl+g
开启/关闭。
对我来说很实用,但是不一定所有人都喜欢,可以考虑一下自己是否真的需要。
command-not-found
当你输入一条不存在的命令时,会自动查询这条命令可以如何获得。
safe-paste
当你往 zsh 粘贴脚本时,它不会被立刻运行
colored-man-pages
给你带颜色的 man 命令。
sudo
apt 忘了加 sudo?开启这个插件,双击 Esc,zsh 会把上一条命令加上 sudo 给你。
history-substring-search
一般人会在 zsh 中绑定 history-search-backward 与 histor-search-forward 两个功能。
|
|
这样子,就可以在输入一个命令,比如 git 之后,按 Ctrl-P 与 Ctrl-N 在以 git 为前缀的历史记录中浏览,非常方便。
但是这个做法有一个问题,就是这个功能只考虑输入的第一个单词。也就是说,如果之前输入了 git status, git commit, git push 等等命令,那么我输入 “git s” 再 Ctrl-P,并不会锁定到 “git status”, 而是会在所有以 git 开头的历史命令中循环。
这个插件的功能就是实现了一对更好用的 history-search-backward 与 histor-search-forward ,解决了上面所说的问题。开启之后,需要绑定按键:
|
|
这样子就可以以自己输入的所有内容为前缀,进行历史查找了。
powerlevel10k
这是一个巨牛逼的第三方主题
安装
|
|
连不上的话用这个:
|
|
Set ZSH_THEME="powerlevel10k/powerlevel10k"
in ~/.zshrc
.