婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux使用zsh提高效率的5條建議

Linux使用zsh提高效率的5條建議

熱門標簽:武漢語音電銷機器人加盟 湖北孝感如何辦理 外呼系統的合法性 同花順電話機器人微信 北京電銷機器人對市場的影響 輝縣市地圖標注 威海電銷外呼系統好用嗎 房產證地圖標注的兩個面積 地圖標注x是啥意思

平時比較喜歡命令行,不喜歡從圖形化界面一個個的點過去;感覺還是命令搜索,查找方便些,快速些。但是,Bash本身提供的功能又不夠方便,自己也懶得折騰。幸得github上有前輩大神們開源的 zsh工具集,甚至方便。此工具可以很方便的統一我們的平時的命令,無論在mac,linux,unix上,基本都可以使用同樣的命令,配置。oh-my-zsh的提示功能非常強悍,插件功能更是牛x,支持各種語法著色等等,大神們又分享出自己平時常用的命令簡寫,值得平實用linux/mac的程序員們一試。我用zsh的時間也不短了,平實很少有命令需要我自己添加alias的,由此可見oh-my-zsh的alias功能很實用。

從github下載并安裝oh-my-zsh: https://github.com/robbyrussell/oh-my-zsh

Z shell(zsh)是 Linux 和類 Unix 系統中的一個命令解析器。 它跟 sh (Bourne shell) 家族的其它解析器(如 bash 和 ksh)有著相似的特點,但它還提供了大量的高級特性以及強大的命令行編輯功能,如增強版 Tab 補全。

在這里不可能涉及到 zsh 的所有功能,描述它的特性需要好幾百頁。在本文中,我會列出 5 個技巧,讓你通過在命令行使用 zsh 來提高你的生產力。

1、主題和插件

多年來,開源社區已經為 zsh 開發了數不清的主題和插件。主題是一個預定義提示符的配置,而插件則是一組常用的別名命令和函數,可以讓你更方便的使用一種特定的命令或者編程語言。

如果你現在想開始用 zsh 的主題和插件,那么使用一種 zsh 的配置框架是你最快的入門方式。在眾多的配置框架中,最受歡迎的則是 Oh My Zsh。在默認配置中,它就已經為 zsh 啟用了一些合理的配置,同時它也自帶上百個主題和插件。

主題會在你的命令行提示符之前添加一些有用的信息,比如你 Git 倉庫的狀態,或者是當前使用的 Python 虛擬環境,所以它會讓你的工作更高效。只需要看到這些信息,你就不用再敲命令去重新獲取它們,而且這些提示也相當酷炫。下圖就是我選用的主題 Powerlevel9k:

除了主題,Oh my Zsh 還自帶了大量常用的 zsh 插件。比如,通過啟用 Git 插件,你可以用一組簡便的命令別名操作 Git, 比如

$ alias | grep -i git | sort -R | head -10
g=git
ga='git add'
gapa='git add --patch'
gap='git apply'
gdt='git diff-tree --no-commit-id --name-only -r'
gau='git add --update'
gstp='git stash pop'
gbda='git branch --no-color --merged | command grep -vE "^(\*|\s*(master|develop|dev)\s*$)" | command xargs -n 1 git branch -d'
gcs='git commit -S'
glg='git log --stat'

 zsh 還有許多插件可以用于許多編程語言、打包系統和一些平時在命令行中常用的工具。以下是我 Ferdora 工作站中用到的插件表:

git golang fedora docker oc sudo vi-mode virtualenvwrapper

2、智能的命令別名

命令別名在 zsh 中十分有用。為你常用的命令定義別名可以節省你的打字時間。Oh My Zsh 默認配置了一些常用的命令別名,包括目錄導航命令別名,為常用的命令添加額外的選項,比如:

ls='ls --color=tty'
grep='grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn}'

除了命令別名以外,zsh 還自帶兩種額外常用的別名類型:后綴別名和全局別名。

后綴別名可以讓你基于文件后綴,在命令行中利用指定程序打開這個文件。比如,要用 vim 打開 YAML 文件,可以定義以下命令行別名:

alias -s {yml,yaml}=vim

現在,如果你在命令行中輸入任何后綴名為 yml 或 yaml 文件,zsh 都會用 vim 打開這個文件。

$ playbook.yml
# Opens file playbook.yml using vim

全局別名可以讓你創建一個可在命令行的任何地方展開的別名,而不僅僅是在命令開始的時候。這個在你想替換常用文件名或者管道命令的時候就顯得非常有用了。比如:

alias -g G='| grep -i'

要使用這個別名,只要你在想用管道命令的時候輸入 G 就好了:

$ ls -l G do
drwxr-xr-x. 5 rgerardi rgerardi 4096 Aug 7 14:08 Documents
drwxr-xr-x. 6 rgerardi rgerardi 4096 Aug 24 14:51 Downloads

接著,我們就來看看zsh 是如何導航文件系統的

3、便捷的目錄導航

當你使用命令行的時候,在不同的目錄之間切換訪問是最常見的工作了。 zsh 提供了一些十分有用的目錄導航功能來簡化這個操作。這些功能已經集成到 Oh My Zsh 中了, 而你可以用以下命令來啟用它

setopt  autocd autopushd \ pushdignoredups

使用了上面的配置后,你就不用輸入 cd 來切換目錄了,只需要輸入目錄名稱,zsh 就會自動切換到這個目錄中:

$ pwd
/home/rgerardi
$ /tmp
$ pwd
/tmp

如果想要回退,只要輸入 -:

zsh 會記錄你訪問過的目錄,這樣下次你就可以快速切換到這些目錄中。如果想要看這個目錄列表,只要輸入 dirs -v:

$ dirs -v
0    ~
1    /var/log
2    /var/opt
3    /usr/bin
4    /usr/local
5    /usr/lib
6    /tmp
7    ~/Projects/Opensource.com/zsh-5tips
8    ~/Projects
9    ~/Projects/ansible
10   ~/Documents

如果想要切換到這個列表中的其中一個目錄,只需輸入 ~# (# 代表目錄在列表中的序號)就可以了。比如

$ pwd
/home/rgerardi
$ ~4
$ pwd
/usr/local

你甚至可以用別名組合這些命令,這樣切換起來就變得更簡單:

d='dirs -v | head -10'
1='cd -'
2='cd -2'
3='cd -3'
4='cd -4'
5='cd -5'
6='cd -6'
7='cd -7'
8='cd -8'
9='cd -9'

現在你可以通過輸入 d 來查看這個目錄列表的前10個,然后用目錄的序號來進行切換:

$ d
0    /usr/local
1    ~
2    /var/log
3    /var/opt
4    /usr/bin
5    /usr/lib
6    /tmp
7    ~/Projects/Opensource.com/zsh-5tips
8    ~/Projects
9    ~/Projects/ansible
$ pwd
/usr/local
$ 6
/tmp
$ pwd
/tmp

最后,你可以在 zsh 中利用 Tab 來自動補全目錄名稱。你可以先輸入目錄的首字母,然后按 TAB 鍵來補全它們:

$ pwd
/home/rgerardi
$ p/o/z (TAB)
$ Projects/Opensource.com/zsh-5tips/

以上僅僅是 zsh 強大的 Tab 補全系統中的一個功能。接來下我們來探索它更多的功能。

4、先進的 Tab 補全

zsh 強大的補全系統是它的賣點之一。為了簡便起見,我稱它為 Tab 補全,然而在系統底層,它起到了幾個作用。這里通常包括展開以及命令補全,我會在這里用討論它們。如果想了解更多,詳見 用戶手冊。

在 Oh My Zsh 中,命令補全是默認啟用的。要啟用它,你只要在 .zshrc 文件中添加以下命令:

autoload -U compinit
compinit

zsh 的補全系統非常智能。它會嘗試唯一提示可用在當前上下文環境中的項目 —— 比如,你輸入了 cd 和 TAB,zsh 只會為你提示目錄名,因為它知道其它的項目放在 cd 后面沒用。

反之,如果你使用與用戶相關的命令便會提示用戶名,而 ssh 或者 ping 這類則會提示主機名。

zsh 擁有一個巨大而又完整的庫,因此它能識別許多不同的命令。比如,如果你使用 tar 命令, 你可以按 TAB 鍵,它會為你展示一個可以用于解壓的文件列表:

$ tar -xzvf test1.tar.gz test1/file1 (TAB)
file1 file2

如果使用 git 的話,這里有個更高級的示例。在這個示例中,當你按 TAB 鍵, zsh 會自動補全當前庫可以操作的文件:

$ ls
original plan.txt zsh-5tips.md zsh_theme_small.png
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
 (use "git add file>..." to update what will be committed)
 (use "git checkout -- file>..." to discard changes in working directory)
    modified:  zsh-5tips.md
no changes added to commit (use "git add" and/or "git commit -a")
$ git add (TAB)
$ git add zsh-5tips.md

zsh 還能識別命令行選項,同時它只會提示與選中子命令相關的命令列表:

$ git commit - (TAB)
--all         -a    -- stage all modified and deleted paths
--allow-empty          -- allow recording an empty commit
--allow-empty-message      -- allow recording a commit with an empty message
--amend             -- amend the tip of the current branch
--author            -- override the author name used in the commit
--branch            -- show branch information
--cleanup            -- specify how the commit message should be cleaned up
--date             -- override the author date used in the commit
--dry-run            -- only show the list of paths that are to be committed or not, and any untracked
--edit         -e    -- edit the commit message before committing
--file         -F    -- read commit message from given file
--gpg-sign       -S    -- GPG-sign the commit
--include       -i    -- update the given files and commit the whole index
--interactive          -- interactively update paths in the index file
--message       -m    -- use the given message as the commit message
... TRUNCATED ...

在按 TAB 鍵之后,你可以使用方向鍵來選擇你想用的命令。現在你就不用記住所有的 git 命令項了。

zsh 還有很多有用的功能。當你用它的時候,你就知道哪些對你才是最有用的。

5、命令行編輯與歷史記錄

zsh 的命令行編輯功能也十分有用。默認條件下,它是模擬 emacs 編輯器的。如果你是跟我一樣更喜歡用 vi/vim,你可以用以下命令啟用 vi 的鍵綁定。

$ bindkey -v

如果你使用 Oh My Zsh,vi-mode 插件可以啟用額外的綁定,同時會在你的命令提示符上增加 vi 的模式提示 —— 這個非常有用。

當啟用 vi 的綁定后,你可以在命令行中使用 vi 命令進行編輯。比如,輸入 ESC+/ 來查找命令行記錄。在查找的時候,輸入 n 來找下一個匹配行,輸入 N 來找上一個。輸入 ESC 后,常用的 vi 命令都可以使用,如輸入 0 跳轉到行首,輸入 $ 跳轉到行尾,輸入 i 來插入文本,輸入 a 來追加文本等等,即使是跟隨的命令也同樣有效,比如輸入 cw 來修改單詞。

除了命令行編輯,如果你想修改或重新執行之前使用過的命令,zsh 還提供幾個常用的命令行歷史功能。比如,你打錯了一個命令,輸入 fc,你可以在你偏好的編輯器中修復最后一條命令。使用哪個編輯是參照 $EDITOR 變量的,而默認是使用 vi。

另外一個有用的命令是 r, 它會重新執行上一條命令;而 r WORD> 則會執行上一條包含 WORD 的命令。

最后,輸入兩個感嘆號(!!),可以在命令行中回溯最后一條命令。這個十分有用,比如,當你忘記使用 sudo 去執行需要權限的命令時:

$ less /var/log/dnf.log
/var/log/dnf.log: Permission denied
$ sudo !!
$ sudo less /var/log/dnf.log

這個功能讓查找并且重新執行之前命令的操作更加方便。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • Linux下利用unzip命令如何解壓多個文件詳解
  • Linux shell條件判斷if中的-a到-z的意思【推薦】
  • linux上安裝zookeeper 啟動和關閉的教程
  • 使用FileZilla從Linux系統下載文件的方法
  • 詳解Linux中zip壓縮和unzip解壓縮命令及使用詳解
  • 帶你入門Linux中size命令的6個例子
  • linux服務器安裝PHP擴展zip,zlib方法
  • linux系統上傳下載命令rz和sz的教程
  • Linux下.tar.xz文件的解壓教程詳解
  • Linux 中unzip解壓時中文亂碼的解決辦法

標簽:西寧 麗江 武威 日喀則 蚌埠 迪慶 安康 紹興

巨人網絡通訊聲明:本文標題《Linux使用zsh提高效率的5條建議》,本文關鍵詞  Linux,使用,zsh,提高效率,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux使用zsh提高效率的5條建議》相關的同類信息!
  • 本頁收集關于Linux使用zsh提高效率的5條建議的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品999在线播放| 久久久777精品电影网影网| 亚洲影院免费观看| 久久久久久9999| 欧美一级电影网站| 欧洲国内综合视频| 99精品视频免费在线观看| 亚洲一区精品在线| 亚洲男人天堂av| 中文字幕一区二区三中文字幕| 精品国产亚洲在线| 欧美电影一区二区| 欧美日韩高清一区二区三区| 欧美亚洲综合另类| 欧美久久久一区| 欧美一卡2卡3卡4卡| 日韩一区二区三区四区| 精品国产一二三| 5566中文字幕一区二区电影| 欧美精品777| 欧美大胆一级视频| 欧美激情一区二区在线| 欧美国产日韩a欧美在线观看| 国产精品久久综合| 亚洲品质自拍视频网站| 日韩国产一区二| 大尺度一区二区| 在线观看91视频| 久久久久久免费| 精品精品欲导航| 日韩美女精品在线| 久久成人麻豆午夜电影| 风流少妇一区二区| 欧美一级片在线| 亚洲激情图片小说视频| 老司机午夜精品99久久| 在线一区二区视频| 久久综合狠狠综合久久激情| 国产亚洲成年网址在线观看| 久久久久9999亚洲精品| 亚洲精品乱码久久久久久日本蜜臀| 亚洲bt欧美bt精品| 91福利精品第一导航| 一色桃子久久精品亚洲| 成人一区在线观看| 国产视频一区在线播放| 国产一区二区三区| 在线免费观看日本一区| 久久久久久久久99精品| 激情亚洲综合在线| 精品999久久久| 精品一二三四区| 欧美mv日韩mv| 国产精品69久久久久水密桃| 精品国产1区2区3区| 国产一区二区三区免费看 | 精品中文字幕一区二区小辣椒| 91日韩在线专区| 国产亚洲成av人在线观看导航| 国产在线国偷精品产拍免费yy| 国产视频在线观看一区二区三区| 国内精品伊人久久久久av一坑| 久久精品水蜜桃av综合天堂| 国产91丝袜在线18| 亚洲精品高清在线| 日韩一区二区在线看片| 不卡一区二区三区四区| 亚洲欧美偷拍另类a∨色屁股| 在线免费一区三区| 卡一卡二国产精品| 国产精品视频第一区| 欧美日韩一级大片网址| 国产精品一线二线三线精华| 亚洲久草在线视频| 欧美激情综合五月色丁香小说| 97se狠狠狠综合亚洲狠狠| 成人丝袜高跟foot| 91美女在线视频| 欧美成人精品3d动漫h| 一区二区三区高清不卡| 色综合久久中文字幕综合网| 国产精品少妇自拍| 99久久99久久精品免费观看| 久久亚洲一级片| 精品欧美乱码久久久久久1区2区| 国模一区二区三区白浆| 天堂久久久久va久久久久| 国产精品久久久久婷婷二区次| 欧美成va人片在线观看| 欧美一区二区三区小说| 一个色综合av| 亚洲天堂av老司机| 日韩毛片视频在线看| 国产嫩草影院久久久久| 国产精品网站在线| 国产精品久久久久久久岛一牛影视 | 欧美成人一区二区三区在线观看 | 欧美国产亚洲另类动漫| av亚洲精华国产精华精华| 狠狠色2019综合网| 国产精品一区二区在线播放| 成人中文字幕合集| 欧美三级乱人伦电影| 69av一区二区三区| 久久综合久久99| 亚洲日本护士毛茸茸| 中文字幕一区二区三中文字幕| 亚洲一区二区精品久久av| 免费在线一区观看| 国产做a爰片久久毛片| 91啪亚洲精品| 久久人人97超碰com| 亚洲成人三级小说| 91在线高清观看| 国产欧美精品一区二区色综合 | 日韩欧美综合在线| 亚洲欧美日韩电影| 久久er精品视频| 在线电影欧美成精品| 亚洲欧美中日韩| 亚洲综合色婷婷| 国产成a人亚洲| 日韩一区二区电影在线| 亚洲精品美腿丝袜| 91婷婷韩国欧美一区二区| 国产免费观看久久| 激情文学综合网| 精品国产凹凸成av人网站| 美女视频网站黄色亚洲| 777午夜精品视频在线播放| 欧美激情中文字幕一区二区| 丁香天五香天堂综合| 精品三级av在线| caoporen国产精品视频| 久久精品一二三| 精品一区二区三区在线播放| 欧美精品一区二区三区在线播放| 经典三级视频一区| wwww国产精品欧美| 精品亚洲欧美一区| 亚洲国产精品激情在线观看| 欧洲视频一区二区| 日本不卡不码高清免费观看| 国产视频911| 91精品国产一区二区三区| 亚洲自拍都市欧美小说| 国产精品久久久久毛片软件| 欧美日韩精品是欧美日韩精品| 久久不见久久见免费视频1| 亚洲精品视频免费看| 亚洲手机成人高清视频| 国产日韩欧美高清在线| 51精品久久久久久久蜜臀| 欧美亚洲一区二区在线观看| 久久国产夜色精品鲁鲁99| 亚洲一区在线视频观看| 日韩限制级电影在线观看| 91丨porny丨在线| 欧美三级日韩三级国产三级| 国产成人av福利| 久色婷婷小香蕉久久| 色美美综合视频| 国产不卡高清在线观看视频| 精品日韩一区二区三区免费视频| 日本特黄久久久高潮| 中文字幕一区二区5566日韩| 不卡的av在线| 日本伊人精品一区二区三区观看方式| 国产激情视频一区二区在线观看| 国产精品福利一区| 欧美大尺度电影在线| 在线观看国产91| 欧美日韩国产bt| 日韩欧美亚洲国产另类| 欧美美女直播网站| 久久久久久夜精品精品免费| 久久精品人人做人人爽人人| 亚洲欧美日韩国产另类专区| 国产日产欧美一区| 亚洲精选视频免费看| 亚洲一区二区三区在线看| 亚洲线精品一区二区三区| 亚洲va韩国va欧美va精品 | 日韩高清不卡在线| 高清不卡在线观看| 欧美日本韩国一区二区三区视频| 日韩三级.com| 精品一区二区三区视频| 99久久精品国产导航| 日韩亚洲欧美综合| 久久免费视频色| 国产成人av资源| 欧美精品一区二区三区久久久| 亚洲男同1069视频| 91高清视频在线| 中日韩av电影| 成人精品视频一区二区三区尤物| 91精品中文字幕一区二区三区| 亚洲欧美怡红院| 在线欧美日韩国产|