文章目录
1. 切换终端为zsh的shell
在访达
中,点击前往->前往文件夹
,输入\bin
就可以到达下面的目录中
可以看到,macos确实是自带zsh这个shell的。
另外,其实一直没注意,每次打开一个终端的时候,会提示:
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
# 查看当前使用的 shell
echo $SHELL
> /bin/bash
# 切换为zsh的命令
chsh -s /bin/zsh
提示 Changing shell for username.
Password for username:
# 切换后重启一个terminal
echo $SHELL
> /bin/zsh
# 查看系统支持的shell风格命令:
cat /etc/shells
> /bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
但是好像切换之后和之前差不多?? 应该是因为缺乏主题的原因
参考:
2. 修改zsh主题为oh my zsh
根据官网:oh my zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 如果这步报错超时,多尝试几次
下载好了,显示上面的界面。其中提示:
Looking for an existing zsh config... Found ~/.zshrc. Backing up to /Users/huangshan/.zshrc.pre-oh-my-zsh Using the Oh My Zsh template file and adding it to ~/.zshrc.
意思就是,发现系统本身有一个.zshrc
文件,将其备份为.zshrc.pre-oh-my-zsh
,使用Oh My zsh的模板文件,作为新的.zshrc
此外,可以看到下面的这个命令行已经变样了,此时已经在使用on my zsh了,
另外最重要的一点就是要去看.zshrc
这个文件进行插件、主题等的配置。
github文档地址,大概如下,可以自己去看有兴趣的部分。
继续操作
# 进入.zshrc文件
vim ~/.zshrc
在zsh中,tab找到所有zsh开头的文件,继续tab,可以选择文件。
.zshrc中最重要的一项就是theme
默认是这个robbyrussell
主题。
可以去https://github.com/ohmyzsh/ohmyzsh/wiki/Themes查看主题,选择一个自己想要的,修改到配置文件中去。
一般大佬都用的是这个主题:agnoster
,但是我安装重启zshell之后显示有问题,就算了。其实是因为这个主题需要进行额外配置。。详见默认终端+solarized颜色主题配置
这里贴几个我觉得比较好看的:
cloud
jnrowe
jonathan
af-magic
这两个主题很好,命令与命令之间有风格线,我觉得很good
第一个尝试cloud
这个主题其实。。。如果不是在git环境中,就没有那个闪电,就是单纯修改了命令前面的图标符号。
似乎这些主题都是只针对git的repo有特效。。
然后就换一个 这个酷酷🆒的分隔,就决定是你了。jonathan
参考:
3. oh my zsh使用
参考:
4. 默认终端+solarized颜色主题配置
4.0 更酷的主题-Powerlevel10k
agnoster的solarized主题
Powerlevel10k主题:
我不需要这么华丽的,上面那个我配好之后就差不多了。想配的可以看看:
4.1 默认终端配置solarized颜色主题
参考:https://github.com/agnoster/agnoster-zsh-theme和终端主题_Oh My Zsh,『 Agnoster 主题配置 』
- 确保安装好了oh-my-zsh,以及终端切换好了zsh
- 验证字符支持,在终端输入以下命令:
echo "\ue0b0 \u00b1 \ue0a0 \u27a6 \u2718 \u26a1 \u2699"
,结果应该是以下显示:
但是我的显示是:
- 字符不支持的话,需要额外安装
Powerline-patched font
这种字体,详见:Github-Powerline fonts
其实安装完之后,就可以在自己本机的字体库(macOS下是# clone git clone https://github.com/powerline/fonts.git --depth=1 # install cd fonts ./install.sh # clean-up a bit 安装好之后就可以删除刚刚下载的那个字体repo文件夹了 cd .. rm -rf fonts
/Users/yourname/Library/Fonts
)下找到这个字体文件ProFont For Powerline.tff
了,同时可以看到刚刚显示失败的字符(\ue0b0
和\ue0a0
)的样子
- jbergantine →
agnoster
vim ~/.zshrc # 把当前的主题改成agnoster,然后重启终端就可以看到了
- 此时还是有乱码,需要对字体进行设置,终端 > 偏好设置 > 字体修改为
Meslo LG S DZ Regular for Powerline
注意,左侧每一个描述文件都有不同的字体设置,换一个默认描述文件,就要改一次字体设置。。 - 至此,其实已经设置的差不多了,但是颜色似乎还是有些区别,随便搞搞好了。详细的配色和字体设置可以去看
4.2 终端配色对应说明
光标颜色也可以调节,不错,考虑到长时间面对电脑的问题,还是把颜色调暗一点好了,这样就跟默认的solarized主题很像了。
- 其实到这里已经可以停了,但是我发现我的和这个人【可视化教程】iTerm2+oh-my-zsh+solarized配色方案的默认命令行中的命令,像
ls
这样的并没有被高亮,但是其他很多人的方案命令是高亮的。- 搜索了一下,果然也是有个插件的。。zsh-users/zsh-syntax-highlighting
- macOS的安装(参考:Homebrew Formulae-zsh-syntax-highlighting):
# 直接
brew install zsh-syntax-highlighting
# 然后在.zshrc的最后添加以下代码:
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
- 隐藏用户名和主机名:
vim ~/.oh-my-zsh/themes/agnoster.zsh-theme 在代码prompt_segment black default "%(!.%{%F{yellow}%}.)$USER@%m"前加#号进行注释。
就变成下面这样了(用户名和主机名已经消失了):
vim ~/.oh-my-zsh/themes/agnoster.zsh-theme
# 其实也可以自定义自己喜欢的符号,比如:
prompt_context() {
if [[ "$USERNAME" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
# prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m"
prompt_segment black default "\u21c4 \u21ba \u273f \u266c"
fi
}
这些字符就是从刚刚安装的/Users/yourname/Library/Fonts
字体库中,XXX for powerline
里找的
如果不小心改错了,把文件改坏了,可以去这里-agnoster.zsh-theme复制一份
4.2 终端配色对应说明
(橙色:(244,155,43), 绿色(118,233,96),蓝色(47,132,207))
另外,注意,高亮的命令行颜色是跟随二级路径的背景色的,感觉这个配色不错,我很喜欢。哈哈哈哈
这个颜色配置文件可以进行导入导出,我的这个配置文件已经上传到github了,有兴趣可以自取,Competition
/00.basic-component/1.solarized.terminal。但是前提是要配置好solarized这个颜色主题。
4.4 vscode中终端字体修改
默认的zsh主题修改之后,vscode中的终端也会发生改变,但是由于vscode默认的字体与terminal不一致,所以会出现特殊字符显示有误的问题。需要做进一步设置。
# 默认的字体是:
Menlo, Monaco, 'Courier New', monospace
# 改为:
Meslo LG S Regular for Powerline, Cousine for Powerline, monofur for Powerline
修改后,就变成:
字体变了点,但是好看。。。
4.5 安装插件
4.5.1 image viewer类的插件
1. imgcat
如果使用的是macOS的iTerm2,则默认已经集成了这个插件
参考:
2.gthumb
参考:
- Github-GNOME/gthumb
4.5.2 cpu等信息的status bar
如果使用的是iTerm2,可以直接开启
参考:
4.5.3 vim中文件跳转/终端中访问url
其他vim相关的操作,可以去看这篇博客:vim实用功能汇总
vim中文件跳转
- 这个其实不是靠什么插件完成的,而是vim编辑器自带的功能
- 把光标放在要跳转的文件上,按下
gf
,即可跳转到目标文件;如果要回到跳转前的位置,可以ctrl+o
- ctrl+w,+o,只保留活动窗口,关闭其他窗口
:BD
, 卸载缓冲区N并将其从缓冲区列表中删除.如果缓冲区已更改,则此操作将失败,除非指定了[!],否则更改将丢失.该文件不受影响.- 如果您知道自己在做什么,也可以使用:bw。
:BW
,像|:bdelete |,但真的删除了缓冲区.
参考:
- 《Vim实用技巧》笔记
- 你怎么从Vim的’gf’回来
- 如何关闭Vim中的单个缓冲区(多个)?
- vim中文手册:这东西好难。。文档写的也很晦涩,记住
gf
和ctrl+o
目前就够了,哈哈哈。
终端中访问url
- 选择 URL: 按住 Shift-Command 键并连按 URL
- 打开 URL: 按住 Command 键并连按 URL
参考: - Mac 上“终端”中的键盘快捷键
5. zsh切换回bash
参考Stack Overflow:Switching from zsh to bash on OS X, and back again?
永久生效的方式(需要重启terminal才会看到变化)
chsh -s /bin/zsh # 切换成zsh
chsh -s /bin/bash # 切换成bash
# 查看当前使用的 shell
echo $SHELL
临时生效的方式
exec bash
exec zsh
6. 其他ssh终端
6.1 iTerm2
看了一下,包括沐神的课上,沐神自己机器上的终端,使用的都是一个叫iTerm2
的工具。相关参考资料如下:
- 这篇 iTerm2 + Oh My Zsh 教程手把手让你成为这条街最靓的仔
- iTerm2 都不会用,还敢自称老司机?
- 【可视化教程】iTerm2+oh-my-zsh+solarized配色方案
- https://github.com/kakshay21/mac-terminal
在macOS下Solarized主题的时候,全都是和iTerm2一起出现的。
- 但是搜索了一下这个iTerm2和macOS默认自带终端的区别,最吸引我的可能就是默认和Tmux集成,默认安装有一个imgcat插件,可以直接在终端里查看图像。。详见:Mac 终端神器 iTerm2
- 没有心动到必须要换的程度。。
- 而且搜下来,其实默认终端是可以配置solarized主题的,只是需要一些额外设置。
但是主题solarized主题的创作者也是配着iTerm2用的。。。有兴趣的就自己安装一下吧。。。iTerm2下载链接
参考:
6.2 tilix终端
另外看到Windows上比较好的终端似乎就是这个了,有兴趣的可以去了解一下。
gnunn1/tilix