windows使用git bash 無法互動鍵盤上下鍵移動選擇選項的解決方法
阿新 • • 發佈:2020-12-27
[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