1. 程式人生 > >windows使用git bash 無法互動鍵盤上下鍵移動選擇選項的解決方法

windows使用git bash 無法互動鍵盤上下鍵移動選擇選項的解決方法

[TOC] ## 遇到的問題 windows使用git bash 來執行命令,有些命令,需要讓使用者來選擇選項。然而此時,你無法使用鍵盤上下鍵來進行選項選擇,那就比較尷尬了。 例如,我們使用 vue-cli 來建立專案的時候,第一步是這樣的 ```shell vue create my-project ``` 回車之後,控制檯會出現多個選項,可供使用者選擇。 ![image-20201225100823607](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a5596b7e905c4522818fbbd3393fccf6~tplv-k3u1fbpfcp-watermark.image) 問題來了,你通過鍵盤上下鍵無法選擇想要的選項。 怎麼辦呢?請看下面的解決方案。 ## 解決方案 ### 1. 直接通過數字鍵來選擇 我們看到的效果是這樣的,`>` 這個右尖括號指向的是第一條。 我們如果想選擇`node-sass`,我們可以輸入`2`,並回車來選中。 如果想選擇`Default (Vue 3 Preview) ([Vue 3] bable, eslint) `,我們可以輸入`5`,回車選中。 ![直接通過數字鍵來選擇](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b26b4c26fcb44f1c9f9d3f952eab697e~tplv-k3u1fbpfcp-watermark.image) ### 2. 使用 winpty 來啟動命令 winpty 是一個 Windows 軟體包,提供了類似 Unix pty-master 一樣的介面,用於實現控制檯程式之間的通訊。該軟體包包括一個開發庫 (libwinpty) 和一個用於 ygwin 和 MSYS 的工具用於在 Cygwin/MSYS pty 下執行 Windows 控制檯程式。 如果只是在常規命令前加 `winpty`,可能是不行 `winpty: error: cannot start 'vue': Not found in PATH`。說明,它會去`PATH`中找後面的指令。 使用`winpty`, 通常需要在常規的指令之後,加上`.cmd` 字尾 ```shell winpty vue.cmd create my-project ``` 這樣執行之後,就可以通過鍵盤上下鍵來選擇了。 ![winpty執行命令](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/be961a85eff845fb846ae07d48a1fa34~tplv-k3u1fbpfcp-watermark.image) vue-cli官網給出的解決方案: ![vue-cli官網給出的解決方案](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/38aa2f01f46c4e238583f617216c460a~tplv-k3u1fbpfcp-watermark.image) ### 3. 將 git bash 換成 cmd 換成 cmd之後,是有高亮功能,可以直接通過鍵盤上下鍵來選擇的。 ![將 git bash 換成 cmd](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6b396627d08a48f9a50143a9474fe195~tplv-k3u1fbpfcp-watermark.image) ### 4. 使用vscode中是bash vscode中,將git bash設定為預設shell,這樣就可以在bash中執行命令,同時,可以通過鍵盤上下鍵來選擇選項了。 ![使用vscode中是bash](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f8d723fc06814ea3b6aa00d15b736a69~tplv-k3u1fbpfcp-watermar