每日最新頭條.有趣資訊

命令行忘性大?這個開源備忘工具一次解決你的所有煩惱

機器之心報導

參與:思源

實名推薦這個小工具,互動式的命令行備忘錄,簡直解決了我們記不住命令的煩惱。

命令行是非常高效的工具,但一個很常見的現象是,很多命令行過一段時間就容易忘。舉個栗子,如果我們常用 git 命令行管理代碼、利用 conda 命令管理開發環境,如果過一段時間沒用了,那麽你還記得如何用 git 將本地代碼同步到 GitHub,還記得如何用 conda 命令刪除一個本地環境嗎?

當然,我們可以在網上搜索一下,也能快速找到答案,但總之還是挺不方便的。我們常見的做法是,將容易忘記的命令行寫到筆記中去,忘了再查就是。但現在,有一個新的開源項目 navi,它提供了一個互動式的備忘錄。

看看下面的動圖,可以說,不用做筆記、不用查 History,我們再也不用擔心忘記命令行了。

如上所示,navi 允許我們查閱所有的備忘錄並執行對應的命令,值得注意的是,備忘錄是實時匹配的,如果我鍵入 git,那麽差不多就剩下 git 相關的命令行。

項目地址:https://github.com/denisidoro/navi

神奇的命令行備忘錄:navi

機器之心也嘗試了該工具,從安裝到使用,總體感覺非常便捷。我們可以使用已有的命令行備忘錄,也能自己導入以前常用的備忘錄。我們可以配置可以直接運行的命令行,只需要手動加上參數就行;也可以寫上備忘錄注釋,再手動鍵入命令行。

該項目表示,navi 的目標主要是:

通過給定關鍵字或文字描述,更便捷地查找命令;

如果作為長命令的輔助部分,查找後的結果也可以直接複製粘貼到主命令;

我們的命令行使用習慣或備忘錄可以與其它人共享;

此外,該工具也能實現命令行的自動補全,不過這屬於高級用法。

總體而言,它就是有助於命令行的整體應用。如下圖所示,我們將幾個 conda 命令也加到了備忘錄中,鍵入命令行的時候就會顯示提示:

這幾條都常用的 conda 命令是我們手動加入的,其中最下一行的綠色「conda」是我們鍵入的內容,它縮小了命令行搜索範圍。最上面白框內的命令行是當前輸入的內容,按確認鍵就會執行該命令行。

navi 該怎麽用

我們是在 macOS 系統上測試的,可以便捷地使用 Homebrew 安裝:brew install denisidoro/tools/navi。其它系統估計滿足環境也是可以的,如下是沒有 Homebrew 時的安裝方法:

安裝完成後,可以直接在命令行內鍵入 navi,從而進入到互動式備忘錄界面。對於初始的 navi,它一共包含 9 個內置的備忘錄,我們可以修改它們。

進入後的互動式界面如下圖所示,我們刪除了一些不太用得上的默認備忘錄。

下面在黃色游標的地方,就可以愉快地鍵入並運行命令行了。

自定義個備忘錄

navi 很重要的功能是能自定義備忘錄,我們可以仿照自帶的備忘錄寫一個新的。該項目表示,我們可以用命令行傳遞.cheat 文件,從而達到添加的目的:

也可以直接把我們的備忘錄文件夾添加到 Bash 環境中。機器之心做了更簡單的一個操作,直接查找該工具的安裝目錄,然後手動刪增備忘錄,我們的發現這也是可以的。如果讀者也使用 Homebrew 安裝,那麽在 usr/local/Cellar/navi 路徑下就能找到默認備忘錄。

當然,我們是要把以前的筆記做成.cheat 純文本的,它的用法也不難,只不過要實現補全或帶參數的命令,還是需要一些特殊的語法。如下是一個標準的.cheat 文件:

cheat 語法主要有以下幾點:

以「%」開頭的行包含了特定的 Tag,也就是說上圖「git」會作為標簽加到該文件所有命令行最後;

以「#」開頭的行描述了該命令行的用法;

以「$」開頭的行應該為給定參數生成建議值;

其它所有非空行應該都為可執行命令行。

如下所示為有效的.cheat 文件:

最後,我們真的比較推薦這個新工具,用它來查備忘命令行實在是太方便了。當然,如果讀者們有用過更好的這類工具,也歡迎寫留言推薦推薦。

本文為機器之心報導,轉載請聯繫本公眾號獲得授權。

------------------------------------------------

獲得更多的PTT最新消息
按讚加入粉絲團