Shawn摘要
zsh简介 zsh
(Z Shell)是一款可用作交互式登录的shell及脚本编写的命令解释器。
zsh
包含了许多 bash
的特性,同时还加入了新的功能,例如拼写检查、更高级的自动补全和脚本兼容性。
从 macOS Catalina(10.15 版本)开始,zsh
成为了 Mac 默认的 shell,取代了之前的默认 shell bash
。
ubuntu和archlinux的默认shell都是bash
,可玩性比较差,为了获取更好的自动补全和语法高亮,建议使用zsh
。
可以使用echo $SHELL
查看当前系统使用的shell。
将zsh配置好了(字体,透明度,自动补全,语法高亮等)开发也会事半功倍,从此爱上linux,让linux不再是纯手敲的黑框框!
使用fastfetch(仅限archlinux)查看系统相关信息
zsh配置 对于ubuntu用户
1 2 3 sudo apt install git zsh zsh-completionssudo apt install zsh-autosuggestions zsh-syntax-highlightinggit clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.zsh/powerlevel10k
zsh-completions
:提供了额外的命令行自动补全规则。这些补全规则能够帮助用户更快地输入命令。
zsh-autosuggestions
:zsh 的一个插件,可以根据历史命令自动建议可能的命令补全。
zsh-syntax-highlighting
:为 zsh 提供了语法高亮功能。
powerlevel10k
:是一款为 Zsh(一种 Unix shell)设计的主题,有着良好的用户体验和美观的外观。
powerlevel10k 提供一个内置的配置向导,通过运行 p10k configure 命令即可启动。这个向导通过一系列问题帮助用户选择符合个人偏好的提示符样式和功能。
如果上述zsh-autosuggestions
和zsh-syntax-highlighting
无法下载可以使用git clone到本地
1 2 git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting ~/.zsh/zsh-syntax-highlighting
对于archlinux用户,直接使用pacman包管理器下载
1 2 3 4 sudo pacman -S zsh zsh-completions zsh-autosuggestions zsh-syntax-highlighting zsh-theme-powerlevel10kchsh
注意:不是oh-my-zsh让你可以选皮肤,而是p10k,oh-my-zsh并不是必须!
通过vim ~/.zshrc
加入以下内容:
1 2 3 4 5 6 7 8 9 SHHISTFILE=~/.histfile HISTSIZE=1000 SAVEHIST=1000 autoload -Uz compinit && compinitzstyle ':completion:*' menu select source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zshsource /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zshsource ~/.zsh/powerlevel10k/powerlevel10k.zsh-theme
重启终端,一般现在就可以配置powerlevel10k的主题啦!
如果哪一步配置错了,想重新配置可以使用p10k configure
命令再次配置一遍。
如果报错找不到插件的位置可以使用命令ls -R / | grep zsh
查看
1 2 3 4 /usr/share/zsh-autosuggestions: zsh-autosuggestions.zsh /usr/share/zsh-syntax-highlighting: zsh-syntax-highlighting.zsh
再将搜索到的位置填入到~/.zshrc中的
1 2 3 source /xxx/xxx source /xxx/xxx source /xxx/xxx
以下是我为ubuntu配置的zsh的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 1 2 3 4 if [[ -r "${XDG_CACHE_HOME:-$HOME /.cache} /p10k-instant-prompt-${(%):-%n} .zsh" ]]; then 5 source "${XDG_CACHE_HOME:-$HOME /.cache} /p10k-instant-prompt-${(%):-%n} .zsh" 6 fi 7 8 9 HISTFILE=~/.histfile 10 HISTSIZE=10000 11 SAVEHIST=10000 12 bindkey -e 13 14 15 alias ls ='ls --color=auto' 16 alias ll='ls -alh --color=auto' 17 alias grep='grep --color=auto' 18 alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' 19 20 21 bindkey '^[[H' beginning-of-line 22 bindkey '^[[F' end-of-line 23 bindkey "^[[1;5C" forward-word 24 bindkey "^[[1;5D" backward-word 25 bindkey '^H' backward-kill-word 26 27 28 autoload -Uz compinit 29 compinit 30 31 zstyle ':completion:*' menu select 32 33 source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh 34 source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 35 source ~/.zsh/powerlevel10k/powerlevel10k.zsh-theme 36 37 38 [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
输入chsh
,在随后的屏幕中输入zsh
,敲回车。
现在你就可以开始使用zsh了。
以下是我为archlinux配置的zsh的配置文件,除了source后的插件路径,其余配置基本相同。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 if [[ -r "${XDG_CACHE_HOME:-$HOME /.cache} /p10k-instant-prompt-${(%):-%n} .zsh" ]]; then source "${XDG_CACHE_HOME:-$HOME /.cache} /p10k-instant-prompt-${(%):-%n} .zsh" fi HISTFILE=~/.histfile HISTSIZE=10000 SAVEHIST=10000 bindkey -ezstyle :compinstall filename '/home/shawn/.zshrc' alias ls ='ls --color=auto' alias ll='ls -alh --color=auto' alias grep='grep --color=auto' alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' autoload -Uz compinitcompinit source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zshsource /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zshsource /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-themezstyle ':completion:*' menu select bindkey '^[[H' beginning-of-linebindkey '^[[F' end-of-linebindkey "^[[1;5C" forward-wordbindkey "^[[1;5D" backward-wordbindkey '^H' backward-kill-word[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
使修改生效
为tab的移动提供高亮 1 2 3 4 zstyle ':completion:*' menu select
vim相关配置 配置文件第52行:set mouse=a
打开后就可以使用鼠标了,但也难以使用先选中,再鼠标中键粘贴的技巧了。
ubuntu的vim默认打开语法高亮 (配置文件第23行:” line enables syntax highlighting by default.)
首先进入vimrc配置文件:
ubuntu是下面这个路径
archlinux是
当进入相关命令行后,敲击i键,进入insert模式
1 2 3 4 5 6 7 8 9 " 开启这个就有状态行了 set nu " 在左侧行号 " set tabstop " tab 长度设置为 4" 可能因为这个导致使用vim需要两次回车 " set nobackup "覆盖文件时不备份 " 开这个和nu就够了set cursorline "突出显示当前行 " set ruler "在右下角显示光标位置的状态行 " set autoindent "自动缩进
之后按esc退出编辑模式,:wq保存文件修改即可生效