clink:擴充cmd.exe成為Bash readline命令行的強大編輯功能

如果你跟我一樣很習慣在console狀態下工作的話,又覺得cmd.exe功能不足而想擴充的話,clink很完美的把Linux的bash命令行功能移植到Windows的環境裡,簡而言之,clink就是「Powerful Bash-style command line editing for cmd.exe」。如果又必須同時使用Linux與Windows,透過clink就能在兩個作業系統裡都使用的命令行編輯功能了。

將clink注入cmd.exe

要使用clink最好的方式當然是在啟動cmd.exe時一起把clink也自動運行起來,clink使用了掛釣(hook)的方法,讓我們將之注入(inject)cmd.exe:

rem 安裝自動執行功能到cmd.exe
clink.bat autorun -i

rem 解除安裝
clink.bat autorun -u

rem 顯示使用方法
clink.bat autorun --help

成功安裝後,日後啟動cmd.exe就會出現clink的版本訊息:
clink message

clink (bash) 常用快捷鍵彙總

以下是常用的快捷鍵彙總。完整的快捷鍵可以按〔Alt+H〕列出。

功能 按鍵 動作說明
移動游標位置
←或Ctrl+b 移動游標到上一字元
→或Ctrl+f 移動游標到下一字元
Ctrl+←或Alt+b 移動游標到上一單字(Word)
Ctrl+→或Alt+f 移動游標到下一單字
Ctrl+a 移動游標到本行最開頭
Ctrl+e 移動游標到本行最尾端
Ctrl+] 移動游標到輸入的字元位置
刪除與複製
Backspace 刪除游標左方一個字元
Delete 刪除游標右方一個字元
Ctrl+w 往左刪除到空白字元為止
Alt+d 刪除右方一個單字
Ctrl+u 刪除游標位置左方所有字元
Ctrl+k 刪除游標位置右方所有字元
Ctrl+y 貼上先前刪除的內容
Ctrl+c, Ctrl+v 剪貼簿複製與貼上
命令歷史
↑或Ctrl+p 顯示上一命令
↓或Ctrl+n 顯示下一命令
Alt+. 貼上前一行命令的最後一個單字,等同!$命令
Ctrl+Alt+y 前一命令的第一個參數
Ctrl+r 往前搜尋命令
Ctrl+s 往後搜尋命令
還原
Alt+r 還原本行所有修改
Ctrl+l 清空螢幕,第一行顯示最後命令
Ctrl+-或
Ctrl+x Ctrl+u(複合鍵)
或Ctrl+z
還原本行最後編輯的變更
自動完成
Tab 檔名自動完成,再按一次列出符合輸入的檔名
Alt+? 列出符合輸入的檔名
Alt+* 附加所有符合檔名到游標位置
交換位置與變更文字
Ctrl+t 游標位置處的字元與其左方字元互換位置
Alt+t 游標位置處的單字與其左方單字互換位置
Alt+u 把游標位置單字變更為大寫
Alt+l 把游標位置單字變更為小寫
其他
Ctrl+Alt+u 切換到上層目錄
Atrl+Alt+i 插入一個Tab鍵
Alt+數字鍵 執行次數。例如按Alt+3,再按Delete,則刪除游標後方3個字元

autojump無法正常運作

其實最早會想用clink是因為想使用autojump的智慧切換目錄功能,先安裝Python 2.6後,執行autojump內的install.py,則日後cd命令會被記錄起來,我們就能用下列方式快速切換目錄:

cd c:\windows\system32

rem 切換到有sys的資料夾
j sys

rem 用檔案總管開啟有sys的資料夾
jo sys

rem 切換到子目錄boot
jc boot

但不知那裡有問題,在我的Windows 8.1和Windows Server 2012 R2裡都無法正確運行。如果有人測試成功的話請留言告知細節。

autojump在Linux裡也有對應的功能,而另一個切換目錄的指令是fasd

相關連結

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *