iTerm2 + oh-my-zsh + fortune 用了很久了,换电脑有时会忘记当时是如何折腾的。整理个文件以作备忘!
完成配置后的终端具备功能:
- 语法高亮;
- 命令行
Tab
补全;- 自动提示符;
⌘+r
快速清空代码面板,跟终端输入clear
一样的效果;- 每次打开,随机显示格言。
- 终端查看图片、传输&下载文件等。
iTerm2
1. 下载iTerm2
2. 配置
- 打开iTerm,在默认菜单中选择
iTerm2 -> Make iTerm2 Default Term
⌘+,
打开偏好设置preference,选中Keys,勾选Hotkey下的Show/hide iTerm2 with a system-wide hotkey,将热键设置为⌘+.
,这样你就可以通过⌘+
. 全局热键来打开或关闭iTerm2窗口,非常方便。- 更改配色方案:偏好设置 preference ,点开 profiles 下的colors 选项,点击右下角的 Color Presets 选项,选择import ,导入解压到的 solarized 文件下的Solarized Dark。
3. 增强
打开iTerm,点击 iTerm2 -> Install Shell Intergration
弹出窗口选择 Install Shell Intergration & Utilities
按钮,完成后iTerm会支持一下命令。
You will also have these commands:
imgcat filename
Displays the image inline.
imgls
Shows a directory listing with image thumbnails.
it2api
Command-line utility to manipulate iTerm2.
it2attention start|stop|fireworks
Gets your attention.
it2check
Checks if the terminal is iTerm2.
it2copy [filename]
Copies to the pasteboard.
it2dl filename
Downloads the specified file, saving it in your Downloads folder.
it2setcolor …
Changes individual color settings or loads a color preset.
it2setkeylabel …
Changes Touch Bar function key labels.
it2ul
Uploads a file.
it2universion
Sets the current unicode version.
oh-my-zsh
1. 安装
github:https://github.com/robbyrussell/oh-my-zsh
官方提供 curl 和 wget 两种安装方式
- 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)"
2. 配置主题
安装oh-my-zsh成功后
用 vim 编辑隐藏文件 .zshrc, 终端输入
vi ~/.zshrc
将zsh主题修改为“agnoster”
ZSH_THEME="agnoster"
应用“agnoster”主题需要特殊的字体支持,否则会出现乱码情况,
使用 [Meslo](https://github.com/powerline/fonts/blob/master/Meslo Slashed/Meslo LG M Regular for Powerline.ttf) 字体,点开链接点击 view raw 下载字体
- 双击运行Meslo LG M Regular for Powerline.ttf 字体文件,点击
安装字体
- 在iTerm2中应用字体 iTerm -> Preferences -> Profiles -> Text -> Change Font)
增强功能
1. 语法高亮插件 zsh-syntax-highlighting
1 | # 执行下面指令自动安装 |
2. 自动补全插件 zsh-autosuggestions
1 | # 执行下面指令自动安装 |
3. 自动跳转插件 autojump
cd 过一次的目录下次都可以直接j 目录
跳转
1 | # clone 到本地 |
4. 安装完后启用插件
1 | # 编辑~/.zshrc |
autojump 工作原理:它会在你每次启动命令时记录你当前位置,并把它添加进它自身的数据库中。这样,某些目录比其它一些目录添加的次数多,这些目录一般就代表你最重要的目录,而它们的“权重”也会增大。
1 | 查看版本: |
fortune
1 | $ brew install fortune |
我很喜欢这个程序,但是它默认的格言库都是英语的,我觉得这点不好,就自己动手做了一个中文格言库。上图就来自这个库,安装命令如下。
1 | $ git clone https://github.com/ruanyf/fortunes.git |
如果是Mac系统,需要重新生成索引文件,即在上面两个命令之间,增加几个命令。
1 | $ strfile fortunes/data/fortunes |
目前,这个库带有四个格言包。
- fortunes:英语格言,5472条
- chinese:中文格言,25919条
- tang300:唐诗三百首,313条
- song100::宋词一百首,95条
fortune 命令显示的格言是随机的,但是分布比例与格言包的容量一致。如果希望四个包平均显示,即每个包都有25%的显示机会,需要使用下面的命令格式。
1 | $ fortune -e fortunes chinese tang300 song100 |
上面代码的第二种形式,让你可以根据自己的偏好,调节每个包的比重。
在 ~/.bashrc 或 ~/.zshrc 文件(根据你使用的 shell 而定)的结尾,加上下面几行,那么每次启动 shell 窗口,就会自动跳出一句格言。
1 | echo |
或许有用
- 查看shell:
cat /etc/shells
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
- 切换shell:
chsh -s /bin/zsh
chsh -s /bin/bash
- 查看当前shell,但不能时时反映shell,需重启iTerm2:
echo $SHELL
卸载
oh my zsh
,在命令行输入:uninstall_oh_my_zsh
路径前缀的XX@XX太长,缩短方法:
编辑~/.oh-my-zsh/themes/agnoster.zsh-theme
主体文件,将里面的build_prompt
下的prompt_context
字段在前面加#
注释掉即可。