当前位置: 首页 > 工具软件 > Zsh > 使用案例 >

zsh 入门

姬衡
2023-12-01

什么是zsh,它和bash相比有什么优势?

  • zsh是一种Unix shell,类似于bash、sh、csh等命令行解释器。它是一种交互式的shell,可以让用户在终端中输入命令并与操作系统进行交互。zsh最初是为了扩展bash的功能而创建的,但现在已经成为了一种很受欢迎的shell。

与bash相比,zsh有许多优点,其中包括:

  1. 自动补全:zsh的自动补全功能比bash更强大。它可以根据当前光标位置和历史记录,自动推测出用户想输入的命令或参数,极大地提高了操作效率。
  2. 主题和插件:zsh具有丰富的主题和插件库,用户可以通过这些扩展来改善其外观和功能。
  3. 强大的别名:zsh支持复杂的别名,这些别名可以包含参数、条件和内嵌命令。
  4. 可定制性:zsh允许用户自定义其外观、行为和键绑定,以满足个人偏好和需求。
  5. 强大的历史命令:zsh的历史命令比bash更强大,可以实现更高级的搜索和过滤功能。

以下是一些高效使用zsh的技巧:

  1. 使用自动补全:zsh的自动补全功能非常强大,可以极大地提高命令行操作的效率。使用Tab键可以触发自动补全,如果有多个候选项,可以按下Tab键多次进行选择。
  2. 学习和使用别名:别名是指将一个长命令或常用命令组合成一个短名称的功能。在zsh中,可以使用alias命令创建别名,然后在命令行中使用短名称代替长命令。例如,您可以使用alias ll='ls -alF’将ls -alF命令别名为ll,这样每次输入ll就相当于输入了ls -alF。
  3. 配置主题:zsh的主题是指终端窗口的外观和风格。zsh提供了许多不同的主题,您可以根据自己的喜好和需求选择适合自己的主题。可以在.zshrc文件中设置主题。
  4. 学习和使用插件:zsh有许多插件可以扩展其功能。使用插件可以使命令行操作更加高效。例如,zsh-syntax-highlighting插件可以为命令行中的语法高亮显示。
  5. 学习和使用历史命令:zsh的历史命令非常强大,可以实现高级的搜索和过滤功能。可以使用history命令查看之前使用的命令,也可以使用Ctrl+R进行搜索。
  6. 学习和使用通配符:通配符是指可以匹配一类文件或目录的特殊符号。在zsh中,可以使用通配符进行文件和目录操作,例如使用*匹配任意字符,或者使用?匹配单个字符。
  7. 自定义快捷键:zsh允许用户自定义快捷键来加速命令行操作。可以在.zshrc文件中设置键绑定,以便在命令行中快速执行常用操作。

zsh有许多快捷键,以下是一些常用的快捷键:

  1. Ctrl+A:将光标移动到行首。
  2. Ctrl+E:将光标移动到行末。
  3. Ctrl+L:清屏,相当于执行clear命令。
  4. Ctrl+U:删除光标前的所有字符。
  5. Ctrl+K:删除光标后的所有字符。
  6. Ctrl+W:删除光标前的一个单词。
  7. Ctrl+R:搜索历史命令。
  8. Ctrl+D:退出终端,相当于执行exit命令。
  9. Tab键:自动补全,用于输入命令和路径。
  10. Ctrl+Z:挂起当前进程,可以使用fg命令恢复进程。
  11. !:执行历史命令,可以使用!n来执行第n个命令。
  12. Esc+.:插入上一个命令的最后一个参数,相当于使用Alt+.。
  13. Alt+F:将光标移动到下一个单词。
  14. Alt+B:将光标移动到上一个单词。
  15. Alt+U:将当前单词转换为大写。
  16. Alt+L:将当前单词转换为小写。
  17. Alt+C:将光标后的单词首字母转换为大写。
  18. Alt+D:删除光标后的一个单词。

zsh中通配符的使用

  • 在zsh中,通配符是一种用于匹配文件和目录名的特殊符号。以下是一些常用的通配符:
  1. *:匹配任意字符,可以匹配0个或多个字符。
    例如:ls *.txt会列出所有扩展名为txt的文件。
  2. ?:匹配单个字符,可以匹配任何单个字符。
    例如:ls file?.txt会列出所有名字为fileX.txt的文件,其中X可以是任何字符。
  3. [ ]:匹配字符集中的任意一个字符,可以匹配字符集中的任意一个字符。
    例如:ls file[abc].txt会列出所有名字为filea.txt、fileb.txt和filec.txt的文件。
  4. { }:匹配花括号中的任意一个字符序列,可以匹配花括号中的任意一个字符序列。
    例如:ls file{a,b,c}.txt会列出所有名字为filea.txt、fileb.txt和filec.txt的文件。
  5. ^:用于否定字符集,匹配除了字符集中的任何字符之外的所有字符。
    例如:ls file[^abc].txt会列出所有名字不是以filea.txt、fileb.txt和filec.txt结尾的文件。
  6. /:匹配目录分隔符,可以用于匹配特定目录层级。
    例如:ls /usr/local/*会列出/usr/local目录下的所有文件和目录。

插件

  • zsh有许多常用的插件可以增强其功能,以下是一些常用的插件以及它们的用途:
  1. zsh-autosuggestions:根据历史命令和当前输入,自动提示命令参数和选项。
    使用方法:先安装插件,可以通过oh-my-zsh等工具进行安装,然后在.zshrc文件中添加以下代码:
plugins=(zsh-autosuggestions)
source $ZSH/oh-my-zsh.sh
  1. zsh-syntax-highlighting:根据语法高亮显示命令和文件路径等内容。
    使用方法:先安装插件,可以通过oh-my-zsh等工具进行安装,然后在.zshrc文件中添加以下代码:
plugins=(zsh-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
  1. autojump:根据使用频率,自动跳转到最常用的目录。
    使用方法:先安装插件,可以通过oh-my-zsh等工具进行安装,然后在.zshrc文件中添加以下代码:
plugins=(autojump)
source $ZSH/oh-my-zsh.sh
  1. fzf:快速模糊搜索历史命令和文件路径。
    使用方法:先安装插件,可以通过oh-my-zsh等工具进行安装,然后在.zshrc文件中添加以下代码:
plugins=(fzf)
source $ZSH/oh-my-zsh.sh
  1. git:增强git命令的使用。
    使用方法:git插件已经包含在oh-my-zsh中,可以在.zshrc文件中启用插件:
plugins=(git)
source $ZSH/oh-my-zsh.sh

以上是一些常用的zsh插件,可以根据需要进行选择和配置。在使用插件时,需要先安装插件,然后在.zshrc文件中添加插件名称,最后执行source命令使插件生效。

插件z、extract

zextract 是两个很有用的 zsh 插件。它们可以帮助你快速浏览和管理文件系统中的文件。

z 插件可以让你快速跳转到最常用的目录。它会记住你经常访问的目录,并在你输入 z <目录名> 的时候自动补全相应的目录。如果你经常在命令行下工作,这个插件会非常有用。

使用 z 插件的方法很简单。首先需要安装 z 插件,可以通过 brew install z 或者 apt-get install zsh-z 进行安装。然后在 .zshrc 文件中添加如下一行:

source /path/to/z.sh

保存并退出 .zshrc 文件,重新打开一个终端窗口,你就可以使用 z 命令了。例如,如果你经常在 /usr/local/bin 目录下工作,可以使用 cd /usr/local/bin 命令进入该目录,然后输入 z 命令,将该目录加入 z 插件的跳转列表中。以后,只要输入 z loc,就可以快速跳转到 /usr/local/bin 目录。

extract 插件可以让你快速解压各种类型的压缩文件。它支持多种格式,包括 .zip.tar.gz.tar.bz2.tar.xz 等。你只需要输入 extract <压缩文件> 命令,就可以快速解压该文件。

使用 extract 插件同样很简单。首先需要安装 extract 插件,可以通过 brew install extract 或者 apt-get install zsh-extract 进行安装。然后在 .zshrc 文件中添加如下一行:

source /path/to/extract.plugin.zsh

保存并退出 .zshrc 文件,重新打开一个终端窗口,你就可以使用 extract 命令了。例如,如果你有一个名为 example.zip 的压缩文件,可以使用 extract example.zip 命令解压该文件。

推荐zsh配置

  • 以下是一个简单的zsh配置示例,包括了一些常用的插件和快捷键设置:
  1. 安装zsh和oh-my-zsh
# 安装zsh
sudo apt-get install zsh

# 安装oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  1. 安装常用的插件
# 安装zsh-autosuggestions插件
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

# 安装zsh-syntax-highlighting插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting

# 安装autojump插件
git clone https://github.com/wting/autojump.git ~/.autojump
cd ~/.autojump
./install.py

# 安装fzf插件
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

# 安装git插件
sudo apt-get install git
  1. 配置快捷键
# 设置快捷键
bindkey '^[[1;5C' forward-word # Ctrl+Right arrow to move cursor one word to the right
bindkey '^[[1;5D' backward-word # Ctrl+Left arrow to move cursor one word to the left
  1. 配置插件
# 配置zsh-autosuggestions插件
plugins=(zsh-autosuggestions)

# 配置zsh-syntax-highlighting插件
plugins=(zsh-syntax-highlighting)

# 配置autojump插件
plugins=(autojump)

# 配置fzf插件
plugins=(fzf)

# 配置git插件
plugins=(git)
 类似资料: