zsh与oh-my-zsh ← 阳志平的个人网站::技术 zsh与oh-my-zsh ← 阳志平的个人网站::技术...
生活随笔
收集整理的這篇文章主要介紹了
zsh与oh-my-zsh ← 阳志平的个人网站::技术 zsh与oh-my-zsh ← 阳志平的个人网站::技术...
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
zsh與oh-my-zsh ← 陽志平的個(gè)人網(wǎng)站::技術(shù)
zsh與oh-my-zsh Mac下默認(rèn)的終端使用的是bash,有沒有更好的? 是zsh. 安裝zsh brew install zsh 配置zsh終極Shell——Zsh — LinuxTOY
LinuxTOY 是一個(gè)致力于提供 Linux 相關(guān)資訊的專題站點(diǎn)。如果您發(fā)現(xiàn)了好用好玩的 Linux 東東并愿意發(fā)揚(yáng)自由、分享的精神,可以點(diǎn)擊頂部導(dǎo)航 Contact 按鈕進(jìn)行投稿。 捐助本站 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 使用技巧 玩轉(zhuǎn) MPlayer 平鋪式窗口管理器 Awesome 三款 Linux 下的免費(fèi)桌面級(jí)殺毒軟件 窗口管理器 Openbox 入門指南 最小化安裝 Ubuntu 五個(gè)你可能不知道的 Linux 桌面環(huán)境 7 個(gè)致命的 Linux 命令 很輕很強(qiáng)大:輕量級(jí)桌面環(huán)境比較 GNOME Shell 介紹 終極 Shell——Zsh 6 款高品質(zhì)的免費(fèi) Linux CAD 應(yīng)用程序 25+ 個(gè)值得跟隨的 Linux 相關(guān) Twitter 帳號(hào) Linux 下的三款 Flash 獨(dú)立播放器 Linux 下的幾個(gè)游戲模擬器 平鋪式窗口管理器 Musca 初體驗(yàn) History(歷史)命令用法 15 例 Fluxbox 配置 bash 使用技巧 10 本 O'Reilly 出版的免費(fèi)好書 終極Shell——Zsh 2008-08-05 Kardinal Posted in Apps, CliRSSTrackback [撰文/Kardinal] 子曾經(jīng)曰過,zsh: The last shell you’ll ever need! Z是最后一個(gè)字母,所以它是終極Shell。 我曾經(jīng)搜索到一個(gè)比較各種Shell的文章,Zsh交互性是A+級(jí)別的,遠(yuǎn)高于其它Shell。在編程方面,Zsh是A級(jí)的吧,也是最高的。只是不知道出于什么原因,Zsh被嚴(yán)重的低估了。 大多數(shù)的Linux用戶比較偏愛Bash,因?yàn)榇蠖鄶?shù)的發(fā)行版默認(rèn)的就是它。平心而論,Bash確實(shí)比Csh之流的好用多了。不過Bash也有很多地方不盡人意,像自動(dòng)補(bǔ)全的功能不夠強(qiáng)大,定位較長路徑不夠方便等。 后來我使用Zsh。如果不調(diào)整一些必要的配置的話,Zsh甚至還不如Bash好用。這也是很多人嘗試過并放棄過的原因。 Zsh配置文件試用?(內(nèi)附講解) 不熟悉Zsh的人,對(duì)Zsh最深刻的印象應(yīng)該就是它的命令提示符了。它支持右側(cè)對(duì)齊的提示符,并且可以配置成這個(gè)樣子的: 不過我還是喜歡比較簡單的樣式。 Zsh的自動(dòng)補(bǔ)全功能十分的強(qiáng)大,如圖所示: 它可以自動(dòng)補(bǔ)全命令、參數(shù)、文件名、進(jìn)程、用戶名、變量、權(quán)限符等。 Zsh還有一個(gè)貼心的功能:路徑別名。假設(shè)有一個(gè)很長的路徑,例如/home/lighttpd/html,可以把這個(gè)路徑命名為 ~WWW。 Zsh可以使用Emacs風(fēng)格的鍵綁定,習(xí)慣Bash鍵綁定的朋友無需重新適應(yīng)。Zsh兼容大多數(shù)主流Shell,像Bash、Csh等。 錯(cuò)誤校正 -- directory -- 是補(bǔ)全類型提示 /etc/x11 [tab] 后被修正為 /etc/X11 補(bǔ)全類型提示變成了 -- corrections -- ? 請(qǐng)注意,這個(gè)功能不是單純的修正大小寫,而是各種拼寫錯(cuò)誤 比如說上面的例子,如果輸入的是11或者s11,它一樣會(huì)修正為X11 有一個(gè)前提,就是每次修正,只允許有一處字符錯(cuò)誤 兩個(gè)以上的錯(cuò)誤,除非可以匹配其它的選項(xiàng),否則就不能修正 12 就不能修正為X11 ,除非候選里有 X12、Y12、Z12…… ? 在配置文件里找到這一行,修改容錯(cuò)字?jǐn)?shù) ??????? zstyle ':completion::approximate:' max-errors 1 numeric 當(dāng)然可以把容錯(cuò)字?jǐn)?shù)改大一些,不過太大了也沒有意義了 隨便輸點(diǎn)什么,就可以匹配所有的,和沒有一樣 ? 強(qiáng)大的重定向功能 同時(shí)重定向stdout和stderr到file: command |& >file 同時(shí)重定向到多個(gè)文件: command >file.1 >file.2 比如裝系統(tǒng)的時(shí)候,可以用這個(gè)命令 ?blkid >> /boot/grub/menu.lst >> /etc/fstab ? 補(bǔ)全類型控制 例如: compctl -g '.tar.gz *.gz.tgz' + -g '*(-/)' tar zxvf 過濾候選項(xiàng) tar zxvf [tab] 候選菜單中只出現(xiàn)擴(kuò)展名為 .tar.gz .gz .tgz 的文件 不過這個(gè)功能比較復(fù)雜,容易引起混亂,通常需要腳本配合 代碼: 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 } 考慮到使用的不多,配置又麻煩,我沒有配置這個(gè)功能 不過我想肯定有人愿意在這上面花點(diǎn)時(shí)間 ? ? 將Zsh設(shè)置為默認(rèn)Shell(不建議更改root用戶的默認(rèn)shell) usermod -s /usr/local/bin/zsh Read More: No related posts Tags: Shell, Zsh 0分享 0收藏 53評(píng)論 aqqq 我一直都用zsh,但是用的很膚淺,受教了。 ?頂回復(fù)1329天前 cabrio 我一直想用,但是不知道如何將我現(xiàn)在的用戶從bash變成zsh,我只會(huì)在新建用戶時(shí)指定shell ?頂回復(fù)1329天前 mengnan 貌似很復(fù)雜 菜鳥我還是用bash比較順手 ?頂回復(fù)1329天前 tdsparrow toy用的什么terminal呀,urxvt?一直想要有這種多window的效果. ?頂回復(fù)1329天前 aqqq @cabrio chsh 可以做到。 ?頂回復(fù)1329天前 walkerxk 右側(cè)對(duì)齊的提示符沒有什么意思, bash可以補(bǔ)全命令、參數(shù)、文件名、用戶名 那個(gè)路徑別名一直在bash下使用,輸入~然后按tab。 ?頂回復(fù)1329天前 來自評(píng)論啦 anton 1. chsh 可以更換 login shell. 2. /etc/DIR_COLORS 可以不用存在啊~ 參考 dircolors 去 export LS_COLORS 就好了。 3. 一個(gè)可以直接 dl 下來的 .zshrc 試用好像比較方便點(diǎn)。 4. zsh "好像" 跟 screen 衝突... Orz 我再調(diào)整看看~ 因?yàn)槲曳且?screen 不可。 ?頂回復(fù)1329天前 tdsparrow 原來答案就在下一篇,呵呵。原來看見這種平鋪式的布局出現(xiàn)在mrxvt的todo list中,一直很期待,甚至都想contribute一下,好像現(xiàn)在都還沒有release。 ?頂回復(fù)1329天前 Jarod 修改/etc/passwd文件就可以修改默認(rèn)的SHELL了. ?頂回復(fù)1329天前 華華 bash 的全能補(bǔ)全也是被低估了吧 ?頂回復(fù)1329天前 來自評(píng)論啦 cabrio @aqueura @anton 謝謝,回去馬上試試 ?頂回復(fù)1329天前 kardinal to:10 雪梨 BASH也可以補(bǔ)全變量啊用戶啊什么的,但是要按特殊的組合鍵,看過王垠那篇火星文的都知道 ZSH會(huì)自動(dòng)根據(jù)上下文補(bǔ)全,所有可能出現(xiàn)的東西 bash_completion我也不是沒有用過(用的時(shí)間挺長的應(yīng)該說) 如果夠好了,我為什么要用ZSH 仔細(xì)看看關(guān)于Zsh的討論部分,常見的質(zhì)疑都有回答:D http://forum.ubuntu.org.cn/viewtopic.php?t=138936&postdays=0&postorder=asc&start=15 ?頂回復(fù)1329天前 kardinal to:walkerxk 右側(cè)對(duì)齊的提示符本身并不實(shí)用,它只是提供了一種可能。例如能將提示符配置成第一幅圖中的下面那種 bash可以補(bǔ)全命令、參數(shù)、文件名、用戶名,這個(gè)看過王垠那篇火星文的都知道,但是要按特殊的組合鍵 bash的路徑別名還真不知道,以前用bash的時(shí)候搜遍大江南北也沒找到這個(gè)功能:D to:anton 配置文件整理后上傳 Ubuntu論壇上的roylez兄同時(shí)使用zsh和screen,他提供了一個(gè)解決方案 http://forum.ubuntu.org.cn/viewtopic.php?t=138936&postdays=0&postorder=asc&start=15 ?頂回復(fù)1329天前 anton 謝謝 kardinal ,嘖嘖嘖,這連結(jié)里附的影片 screen 跟 zsh 搭的真漂亮。 真想跟他要 screenrc 跟 .zshrc/.zprofile 來玩。 roylez 真是行~ ?頂回復(fù)1329天前 HK zsh 能不能像 fish 一樣實(shí)現(xiàn)彩色的命令行提示? 之前想換掉 bash,一直也聽說 zsh 比較強(qiáng)大,可是實(shí)在要花些時(shí)間研究,所以就用 fish 去了。總的來說還是不錯(cuò),我自己也沒什么很高深的應(yīng)用需求,fish 基本都沒能滿足了。但是有幾個(gè)實(shí)在無法忍受的 bug,比如非 X 環(huán)境一登錄就卡死…… ?頂回復(fù)1329天前 itroad8 不如來個(gè)比較bash,cshell,zshell的文章吧 ?頂回復(fù)1329天前 kardinal to:k 應(yīng)該是可以的,不過配置可能比較麻煩。google一下說不定能找到答案 其實(shí)顏色太多也不好,gentoo的emerge開始覺得挺不錯(cuò),色彩比較豐富,就是有點(diǎn)晃眼……最近又用archlinux,覺得不用彩色顯示更好,可以看自己想看的信息,而不是被強(qiáng)迫看作者認(rèn)為重要并彩色標(biāo)示出來的信息 fish運(yùn)行起來感覺還是比較遲鈍的,而zsh的速度感覺比bash還要快,哪怕是比較大的配置文件:D to:itroad8 有比較各種shell的文章,但每個(gè)人關(guān)注的側(cè)重點(diǎn)不一樣。大的方面比較,結(jié)論在文章的開頭給出了: Zsh交互性是A+級(jí)別的,遠(yuǎn)高于其它Shell。在編程方面,Zsh是A級(jí)的吧,也是最高的。只是不知道出于什么原因,Zsh被嚴(yán)重的低估了。 ?頂回復(fù)1329天前 kardinal to:anton 本文介紹的功能,基本上是每個(gè)人都需要的功能。無論怎么配置zsh,這些功能都是不可少的 至于其它功能,自己想辦法吧:D ?頂回復(fù)1329天前 Jan zsh的completion比bash的強(qiáng)大太多,bash+bash_completion我以前也用過很長時(shí)間 那個(gè)花里胡哨的提示符看久了有點(diǎn)兒膩,而且如果是screen+zsh的用戶有些信息(比如時(shí)間)會(huì)和screen的提示欄重復(fù) ?頂回復(fù)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 ?頂回復(fù)1329天前 You-Can-Fly (do one thing and do it well.) 其實(shí)我是被zsh里更好的補(bǔ)全功能而吸引的! ?頂回復(fù)1329天前 來自豆瓣 AutumnCat bash 用起來已經(jīng)夠舒服了,換來換去反而不習(xí)慣。 to 4樓:很多東西都可以做到,但是其實(shí)不方便,因?yàn)榇白冃×恕??頂回復(fù)1329天前 liufeng 其實(shí)我挺懷念高中時(shí)玩FreeBSD里面的csh的…… ?頂回復(fù)1329天前 來自評(píng)論啦 gsj987 糾正錯(cuò)別字 引用框下第一行“憑心而論”應(yīng)作“平心而論” :D ?頂回復(fù)1329天前 ~toy @gsj987: 謝謝,已糾正。 ?頂回復(fù)1328天前 來自評(píng)論啦 fisher bash 也有基于 context 的上下文補(bǔ)齊啊: M-/ ?頂回復(fù)1328天前 HK 請(qǐng)教一下,在 fish 里面,如果我輸入“.pekwm”,再按向上箭頭,fish 只會(huì)列出包含“.pekwm”的歷史記錄,比如“vim ~/.pekwm/mouse”,或“cd .pekwm”。在 zsh 里面要怎樣配置才能實(shí)現(xiàn)這樣的功能? ?頂回復(fù)1328天前 kardinal to:K 這個(gè)似乎得用搜索了 和bash差不多 按Ctrl-r輸入關(guān)鍵字搜索,再按Ctrl-r向前搜索,backspace向后搜索 ?頂回復(fù)1328天前 daily post 08/0 [...] 終極Shell——Zsh — LinuxTOY [...] ?頂回復(fù)1328天前 Rainux 確實(shí)比 bash 舒服多了,目錄補(bǔ)全的時(shí)候可以循環(huán)枚舉,而且循環(huán)時(shí)可以輸入 / 進(jìn)入當(dāng)前目錄開始循環(huán)枚舉下一層目錄。 另外配置文件中要求 /etc/DIR_COLORS 存在,似乎是不必要的吧,直接 eval dircolors 的輸出就可以了。 [ -f /etc/DIR_COLORS ] && eval $(dircolors -b /etc/DIR_COLORS) 改成 eval $(dircolors -b) ?頂回復(fù)1326天前 f0g 最簡單的能滿足要求的就是最好的。 ?頂回復(fù)1316天前 najja 弱問作者給的配置文件文件頭和尾的一堆^@是什么?我都刪掉鳥。。。其他很好用 ?頂回復(fù)1304天前 kardinal @Rainux:很好很強(qiáng)大^_^ 收錄到《旅行手冊(cè)》里了 @najja:這里給出的配置文件不再維護(hù),以《旅行手冊(cè)》里的為準(zhǔn) ^_^ ?頂回復(fù)1219天前 kelen 試了一段時(shí)間, 發(fā)現(xiàn)用dpkg -l apt* 時(shí), *通配符無效, 但在bash里有效. 不曉得應(yīng)如何設(shè)置? ?頂回復(fù)1190天前 eshizhan 不錯(cuò),挺好使的 Zsh配置文件試用的文件擴(kuò)展名有問題,落了一個(gè)"." mv zshrctar.gz zshrc.tar.gz ?頂回復(fù)1127天前 ibex @kelen: 我是加引號(hào)解決的 ?頂回復(fù)1022天前 coos 言論不嚴(yán)謹(jǐn)。用沒有出處的搜索到的文章和評(píng)論來充當(dāng)論據(jù),完全沒有說服力。而且用配置過的zsh和未經(jīng)配置的bash做比較也有欠公平。雖然我相信zsh是有它強(qiáng)大的地方的,但是經(jīng)過配置過的任何shell都也足能夠完成日常作業(yè)。 ?頂回復(fù)767天前 rouken 我在使用fish的時(shí)候, 不能設(shè)置 set -o vi ?頂回復(fù)650天前 cyden 還能實(shí)現(xiàn)中文輸入 ?頂回復(fù)478天前 henrylj2g 真難看 ?頂回復(fù)476天前 更多評(píng)論... 評(píng)?論表情 鏈接 評(píng)論啦 ? 用 LPVM 來修改用 Wubi 安裝 Ubuntu 時(shí)分配的硬盤大小總結(jié)
以上是生活随笔為你收集整理的zsh与oh-my-zsh ← 阳志平的个人网站::技术 zsh与oh-my-zsh ← 阳志平的个人网站::技术...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟化相关
- 下一篇: 使用结构体输入参加某会议成员的信息,并计