概述
在多位同事对我熏陶zsh有多么多么好的情况下,今天终于接着元旦放假的机会折腾了一下。
以下命令都是基于ubuntu所写,但各大linux发行版都差不多,就不废话了。安装直接apt-get即可。
配合oh-my-zsh.
wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - |sh
chsh -s /bin/zsh #切换默认shell为zsh
坑1: 上下方向键,Home和End键可能不生效
经测试tmux和gnome-terminal测试zsh没有这些问题,多发于使用xshell,putty连接ssh时会出现。
首先在zsh下面Home等效快捷键是ctrl+a,End的等效快捷键是ctrl+e。
当然也可以通过修配置文件解决。在~/.zshrc添加以下行:
bindkey "e[1~" beginning-of-line # Home键
bindkey "e[4~" end-of-line # End键
bindkey "^[[A" forward-word # 方向上键
bindkey "^[[B" backward-word # 方向下键
最坑最坑的并不是这个,而且以上配置文件并不适用于所有情况。如果你把以上配置添加到配置文件中并source后仍然不生效,此时你需要神奇的cat命令。单纯执行cat命令,并分别按Home后会输出等效的键码,复制并替换上面的bindkey命令即可,其他原理一样的。
坑2:tmux与zsh配合使用时需要注意修改tmux的默认shell
准确说这个不算坑,只是注意点。我上面使用chsh修改用户默认shell之后再进入tmux时居然还是bash,所以此时需要在tmux的配置文件里面额外添加一句set -g default-shell /bin/zsh,或者使用set -g default-shell $SHELL用以自适应用户修改的shell类型。退出所有tmux并重启tmux生效。
关于tmux参考: https://www.jianshu.com/p/42bf70c64952
坑3:~/.bashrc文件不会自动执行
这个就更坑了,我之前把当连接ssh时自动开启tmux的命令写在了~/.bashrc文件中,但是当我把默认shell修改为zsh后我发现连接ssh后并没有自动进入tmux界面。所以很有可能实用zsh进入后之前手动设置的环境变量全都不见了,转而代替的文件列表如下:
/etc/profile --> /etc/zsh/zshenv
~/.profile --> ~/.zprofile
~/.bashrc --> ~/.zshrc
最后
以上就是无辜飞机为你收集整理的linux查看是bash还是zsh,从bash转向zsh的坑的全部内容,希望文章能够帮你解决linux查看是bash还是zsh,从bash转向zsh的坑所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复