首页IT科技阳志锋教授(zsh与ohmyzsh ← 阳志平的个人网站::技术 zsh与ohmyzsh ← 阳志平的个人网站::技术)

阳志锋教授(zsh与ohmyzsh ← 阳志平的个人网站::技术 zsh与ohmyzsh ← 阳志平的个人网站::技术)

时间2025-05-04 19:49:07分类IT科技浏览2772
导读:zsh与oh-my-zsh Mac下默认的终端使用的是bash,有没有更好的? 是zsh. 安装zsh brew install zsh 配置zshLinuxTOY 是一个致力于提供 Linux 相关资讯的专题站点。如果您发现了好用好玩的 Linux 东东并愿意发扬自由、分享的精神,可以点击顶部导航 Contact 按钮进行投稿。...

zsh与oh-my-zsh Mac下默认的终端使用的是bash,有没有更好的? 是zsh. 安装zsh brew install zsh 配置zshLinuxTOY 是一个致力于提供 Linux 相关资讯的专题站点           。如果您发现了好用好玩的 Linux 东东并愿意发扬自由           、分享的精神           ,可以点击顶部导航 Contact 按钮进行投稿                。 捐助本站 Subscribe in a reader (original feed) Subscribe by Email Follow us on Twitter Follow us on Identi.ca Linuxtoy on G+ Windows Errors Brocken RAID Data Recovery Popular entries Archlinux 安装指南 Unix/Linux 命令速查表 高效率编辑器 Vim Wget 使用技巧 玩转 MPlayer 平铺式窗口管理器 Awesome 三款 Linux 下的免费桌面级杀毒软件 窗口管理器 Openbox 入门指南 最小化安装 Ubuntu 五个你可能不知道的 Linux 桌面环境 7 个致命的 Linux 命令 很轻很强大:轻量级桌面环境比较 GNOME Shell 介绍 终极 Shell——Zsh 6 款高品质的免费 Linux CAD 应用程序 25+ 个值得跟随的 Linux 相关 Twitter 帐号 Linux 下的三款 Flash 独立播放器 Linux 下的几个游戏模拟器 平铺式窗口管理器 Musca 初体验 History(历史)命令用法 15 例 Fluxbox 配置 bash 使用技巧 10 本 OReilly 出版的免费好书 终极Shell——Zsh 2008-08-05 Kardinal Posted in Apps, CliRSSTrackback [撰文/Kardinal] 子曾经曰过                ,zsh: The last shell you’ll ever need! Z是最后一个字母     ,所以它是终极Shell     。 我曾经搜索到一个比较各种Shell的文章      ,Zsh交互性是A+级别的                ,远高于其它Shell      。在编程方面          ,Zsh是A级的吧      ,也是最高的                。只是不知道出于什么原因                 ,Zsh被严重的低估了          。 大多数的Linux用户比较偏爱Bash          ,因为大多数的发行版默认的就是它      。平心而论,Bash确实比Csh之流的好用多了                 。不过Bash也有很多地方不尽人意                 ,像自动补全的功能不够强大                ,定位较长路径不够方便等          。 后来我使用Zsh。如果不调整一些必要的配置的话,Zsh甚至还不如Bash好用                 。这也是很多人尝试过并放弃过的原因                。 Zsh配置文件试用(内附讲解) 不熟悉Zsh的人           ,对Zsh最深刻的印象应该就是它的命令提示符了。它支持右侧对齐的提示符                ,并且可以配置成这个样子的: 不过我还是喜欢比较简单的样式           。 Zsh的自动补全功能十分的强大     ,如图所示: 它可以自动补全命令                、参数     、文件名      、进程                、用户名          、变量      、权限符等                。 Zsh还有一个贴心的功能:路径别名     。假设有一个很长的路径           ,例如/home/lighttpd/html                ,可以把这个路径命名为 ~WWW           。 Zsh可以使用Emacs风格的键绑定     ,习惯Bash键绑定的朋友无需重新适应                。Zsh兼容大多数主流Shell      ,像Bash                 、Csh等     。 错误校正 -- directory -- 是补全类型提示 /etc/x11 [tab] 后被修正为 /etc/X11 补全类型提示变成了 -- corrections -- 请注意                ,这个功能不是单纯的修正大小写          ,而是各种拼写错误 比如说上面的例子      ,如果输入的是11或者s11                 ,它一样会修正为X11 有一个前提          ,就是每次修正,只允许有一处字符错误 两个以上的错误                 ,除非可以匹配其它的选项                ,否则就不能修正 12 就不能修正为X11 ,除非候选里有 X12          、Y12、Z12…… 在配置文件里找到这一行           ,修改容错字数 zstyle :completion::approximate: max-errors 1 numeric 当然可以把容错字数改大一些                ,不过太大了也没有意义了 随便输点什么     ,就可以匹配所有的           ,和没有一样 强大的重定向功能 同时重定向stdout和stderr到file: command |& >file 同时重定向到多个文件: command >file.1 >file.2 比如装系统的时候                ,可以用这个命令 blkid >> /boot/grub/menu.lst >> /etc/fstab 补全类型控制 例如: compctl -g .tar.gz *.gz.tgz + -g *(-/) tar zxvf 过滤候选项 tar zxvf [tab] 候选菜单中只出现扩展名为 .tar.gz .gz .tgz 的文件 不过这个功能比较复杂     ,容易引起混乱      ,通常需要脚本配合 代码: compctl -g .tar.bz2 *.tar.gz *.bz2 *.gz *.jar *.rar *.tar *.tbz2 *.tgz *.zip *.Z + -g (-/) extractextract() { if [[ -z "$1" ]] ; then print -P "usage: \e[1;36mextract\e[1;0m < filename >" print -P " Extract the file specified based on the extension" elif [[ -f $1 ]] ; then case ${(L)1} in .tar.bz2) tar -jxvf $1 ;; .tar.gz) tar -zxvf $1 ;; .bz2) bunzip2 $1 ;; .gz) gunzip $1 ;; .jar) unzip $1 ;; .rar) unrar x $1 ;; .tar) tar -xvf $1 ;; .tbz2) tar -jxvf $1 ;; .tgz) tar -zxvf $1 ;; .zip) unzip $1 ;; .Z) uncompress $1 ;; ) echo "Unable to extract $1 :: Unknown extension" esac else echo "File ($1) does not exist!" fi } 考虑到使用的不多                ,配置又麻烦          ,我没有配置这个功能 不过我想肯定有人愿意在这上面花点时间 将Zsh设置为默认Shell(不建议更改root用户的默认shell) usermod -s /usr/local/bin/zsh Read More: No related posts Tags: Shell, Zsh 0分享 0收藏 53评论 aqqq 我一直都用zsh      ,但是用的很肤浅                 ,受教了      。 顶回复1329天前 cabrio 我一直想用          ,但是不知道如何将我现在的用户从bash变成zsh,我只会在新建用户时指定shell 顶回复1329天前 mengnan 貌似很复杂 菜鸟我还是用bash比较顺手 顶回复1329天前 tdsparrow toy用的什么terminal呀                 ,urxvt?一直想要有这种多window的效果. 顶回复1329天前 aqqq @cabrio chsh 可以做到                。 顶回复1329天前 walkerxk 右侧对齐的提示符没有什么意思                , bash可以补全命令                 、参数                、文件名、用户名 那个路径别名一直在bash下使用,输入~然后按tab          。 顶回复1329天前 来自评论啦 anton 1. chsh 可以更換 login shell. 2. /etc/DIR_COLORS 可以不用存在啊~ 參考 dircolors 去 export LS_COLORS 就好了      。 3. 一個可以直接 dl 下來的 .zshrc 試用好像比較方便點                 。 4. zsh "好像" 跟 screen 衝突... Orz 我再調整看看~ 因為我非要 screen 不可          。 顶回复1329天前 tdsparrow 原来答案就在下一篇           ,呵呵。原来看见这种平铺式的布局出现在mrxvt的todo list中                ,一直很期待     ,甚至都想contribute一下           ,好像现在都还没有release                 。 顶回复1329天前 Jarod 修改/etc/passwd文件就可以修改默认的SHELL了. 顶回复1329天前 华华 bash 的全能补全也是被低估了吧 顶回复1329天前 来自评论啦 cabrio @aqueura @anton 谢谢                ,回去马上试试 顶回复1329天前 kardinal to:10 雪梨 BASH也可以补全变量啊用户啊什么的     ,但是要按特殊的组合键      ,看过王垠那篇火星文的都知道 ZSH会自动根据上下文补全                ,所有可能出现的东西 bash_completion我也不是没有用过(用的时间挺长的应该说) 如果够好了          ,我为什么要用ZSH 仔细看看关于Zsh的讨论部分      ,常见的质疑都有回答:D http://forum.ubuntu.org.cn/viewtopic.php?t=138936&postdays=0&postorder=asc&start=15 顶回复1329天前 kardinal to:walkerxk 右侧对齐的提示符本身并不实用                 ,它只是提供了一种可能                。例如能将提示符配置成第一幅图中的下面那种 bash可以补全命令           、参数                、文件名     、用户名          ,这个看过王垠那篇火星文的都知道,但是要按特殊的组合键 bash的路径别名还真不知道                 ,以前用bash的时候搜遍大江南北也没找到这个功能:D to:anton 配置文件整理后上传 Ubuntu论坛上的roylez兄同时使用zsh和screen                ,他提供了一个解决方案 http://forum.ubuntu.org.cn/viewtopic.php?t=138936&postdays=0&postorder=asc&start=15 顶回复1329天前 anton 谢谢 kardinal ,啧啧啧           ,这连结里附的影片 screen 跟 zsh 搭的真漂亮。 真想跟他要 screenrc 跟 .zshrc/.zprofile 来玩           。 roylez 真是行~ 顶回复1329天前 HK zsh 能不能像 fish 一样实现彩色的命令行提示? 之前想换掉 bash                ,一直也听说 zsh 比较强大     ,可是实在要花些时间研究           ,所以就用 fish 去了                。总的来说还是不错                ,我自己也没什么很高深的应用需求     ,fish 基本都没能满足了     。但是有几个实在无法忍受的 bug      ,比如非 X 环境一登录就卡死…… 顶回复1329天前 itroad8 不如来个比较bash                ,cshell          ,zshell的文章吧 顶回复1329天前 kardinal to:k 应该是可以的      ,不过配置可能比较麻烦           。google一下说不定能找到答案 其实颜色太多也不好                 ,gentoo的emerge开始觉得挺不错          ,色彩比较丰富,就是有点晃眼……最近又用archlinux                 ,觉得不用彩色显示更好                ,可以看自己想看的信息,而不是被强迫看作者认为重要并彩色标示出来的信息 fish运行起来感觉还是比较迟钝的           ,而zsh的速度感觉比bash还要快                ,哪怕是比较大的配置文件:D to:itroad8 有比较各种shell的文章     ,但每个人关注的侧重点不一样                。大的方面比较           ,结论在文章的开头给出了: Zsh交互性是A+级别的                ,远高于其它Shell     。在编程方面     ,Zsh是A级的吧      ,也是最高的      。只是不知道出于什么原因                ,Zsh被严重的低估了                。 顶回复1329天前 kardinal to:anton 本文介绍的功能          ,基本上是每个人都需要的功能          。无论怎么配置zsh      ,这些功能都是不可少的 至于其它功能                 ,自己想办法吧:D 顶回复1329天前 Jan zsh的completion比bash的强大太多          ,bash+bash_completion我以前也用过很长时间 那个花里胡哨的提示符看久了有点儿腻,而且如果是screen+zsh的用户有些信息(比如时间)会和screen的提示栏重复 顶回复1329天前 HK Criteria Nb sh ksh bash zsh csh tcsh Configurability 1 - + ++ +++ + ++ Execution of commands 2 + + + ++ + ++ Completion 3 -- + ++ +++ + ++ Line editing 4 - + ++ ++ - ++ Name substitution 5 + + ++ ++ + ++ History 6 -- + ++ ++ + ++ Redirections and pipes 7 + + + ++ + + Spelling correction 8 -- -- -- + -- + Prompt settings 9 + + + ++ + ++ Job control 10 -- + + + + + Execution control 11 + + + + + + Signal Handling 12 + + + + - - 来源: http://www.hep.phy.cam.ac.uk/lhcb/LHCbSoftTraining/documents/ShellChoice.pdf 顶回复1329天前 You-Can-Fly (do one thing and do it well.) 其实我是被zsh里更好的补全功能而吸引的! 顶回复1329天前 来自豆瓣 AutumnCat bash 用起来已经够舒服了                 ,换来换去反而不习惯      。 to 4楼:很多东西都可以做到                ,但是其实不方便,因为窗变小了                 。 顶回复1329天前 liufeng 其实我挺怀念高中时玩FreeBSD里面的csh的…… 顶回复1329天前 来自评论啦 gsj987 纠正错别字 引用框下第一行“凭心而论           ”应作“平心而论                ” :D 顶回复1329天前 ~toy @gsj987: 谢谢           ,已纠正          。 顶回复1328天前 来自评论啦 fisher bash 也有基于 context 的上下文补齐啊: M-/ 顶回复1328天前 HK 请教一下                ,在 fish 里面     ,如果我输入“.pekwm     ”           ,再按向上箭头                ,fish 只会列出包含“.pekwm      ”的历史记录     ,比如“vim ~/.pekwm/mouse                ”      ,或“cd .pekwm          ”。在 zsh 里面要怎样配置才能实现这样的功能? 顶回复1328天前 kardinal to:K 这个似乎得用搜索了 和bash差不多 按Ctrl-r输入关键字搜索                ,再按Ctrl-r向前搜索          ,backspace向后搜索 顶回复1328天前 daily post 08/0 [...] 终极Shell——Zsh — LinuxTOY [...] 顶回复1328天前 Rainux 确实比 bash 舒服多了      ,目录补全的时候可以循环枚举                 ,而且循环时可以输入 / 进入当前目录开始循环枚举下一层目录                 。 另外配置文件中要求 /etc/DIR_COLORS 存在          ,似乎是不必要的吧,直接 eval dircolors 的输出就可以了                。 [ -f /etc/DIR_COLORS ] && eval $(dircolors -b /etc/DIR_COLORS) 改成 eval $(dircolors -b) 顶回复1326天前 f0g 最简单的能满足要求的就是最好的。 顶回复1316天前 najja 弱问作者给的配置文件文件头和尾的一堆^@是什么?我都删掉鸟           。                。     。其他很好用 顶回复1304天前 kardinal @Rainux:很好很强大^_^ 收录到《旅行手册》里了 @najja:这里给出的配置文件不再维护                 ,以《旅行手册》里的为准 ^_^ 顶回复1219天前 kelen 试了一段时间, 发现用dpkg -l apt* 时, *通配符无效, 但在bash里有效. 不晓得应如何设置? 顶回复1190天前 eshizhan 不错                ,挺好使的 Zsh配置文件试用的文件扩展名有问题,落了一个"." mv zshrctar.gz zshrc.tar.gz 顶回复1127天前 ibex @kelen: 我是加引号解决的 顶回复1022天前 coos 言论不严谨           。用没有出处的搜索到的文章和评论来充当论据           ,完全没有说服力                。而且用配置过的zsh和未经配置的bash做比较也有欠公平     。虽然我相信zsh是有它强大的地方的                ,但是经过配置过的任何shell都也足能够完成日常作业      。 顶回复767天前 rouken 我在使用fish的时候     , 不能设置 set -o vi 顶回复650天前 cyden 还能实现中文输入 顶回复478天前 henrylj2g 真难看 顶回复476天前 更多评论... 评论表情 链接 评论啦 « 用 LPVM 来修改用 Wubi 安装 Ubuntu 时分配的硬盘大小

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
macos开发者是谁(macOS Big Sur 开发者预览版 Beta 6正式推送) macbookair开发者选项(macOS 11 Big Sur 开发者预览版 Beta 7正式推送)