zsh与oh-my-zsh ← 阳志平的个人网站::技术 zsh与oh-my-zsh ← 阳志平的个人网站::技术...
生活随笔
收集整理的這篇文章主要介紹了
zsh与oh-my-zsh ← 阳志平的个人网站::技术 zsh与oh-my-zsh ← 阳志平的个人网站::技术...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
zsh與oh-my-zsh ← 陽志平的個人網站::技術
zsh與oh-my-zsh Mac下默認的終端使用的是bash,有沒有更好的? 是zsh. 安裝zsh brew install zsh 配置zsh終極Shell——Zsh — LinuxTOY
LinuxTOY 是一個致力于提供 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 本 O'Reilly 出版的免費好書 終極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 時分配的硬盤大小總結
以上是生活随笔為你收集整理的zsh与oh-my-zsh ← 阳志平的个人网站::技术 zsh与oh-my-zsh ← 阳志平的个人网站::技术...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟化相关
- 下一篇: 2021年四川高考成绩等位分查询,202