「Warp」について知っていますか？AI搭載の最新ターミナルツールを紹介！！

# はじめに
これまでずっとVSCodeに搭載されているデフォルトのターミナルを使っていた自分が「Warp」を使ってみて、「最新のターミナルってすごいなー」と素直に感動したので、今回は「Warp」の各種機能を紹介していきます！

# Warpとは
**Rust言語で開発されたモダンなAI搭載ターミナルです。** UIがおしゃれなのも特徴です。
また料金に関してですが、個人は無料で利用することができます。

https://www.warp.dev/

ちなみに速度に関してかなり重要視しているようで、他のターミナルとのスクロール速度比較も紹介されていました。かなり早く驚きです。

https://www.warp.dev/blog/how-warp-works

:::note warn
今はMacOSしか対応しておらず、今後WindowsとLinuxにも対応予定のようです
:::

# Warpの主な機能
Warpにはデフォルト状態で便利な機能が搭載されています。
- AI搭載
- コマンド補完
- 履歴補完
- ブロックエディタ
- コマンドパレット
- テーマ機能

上記のような様々な機能がデフォルトで利用可能です。
また個人的に嬉しかった部分は、**マウスが使えること！**
VSCode搭載のターミナルではマウスを使えませんでしたが、Warpではマウスを使って特定箇所に飛べるのでコードエディターの様に操作ができて、とても便利です。

# Warpのインストール
Warpのインストールは、公式サイトもしくは、Homebrew経由でインストールできます。

公式サイト：「Download Now」ボタンでインストール
Homebrew経由：以下のコマンドを実行して、Warpをインストール

```
brew install --cask warp
```

# Wrap主要機能
Warpの主要機能を紹介していきます。今回紹介した以外にも機能等ありますので、気になる方は調べてみてください！

## AI検索機能
「あの実行コマンドってどんなだっけ、、調べるか」となる場面多くないですか？
そんな時に便利なのが、**Warpの目玉機能であるAI検索機能**です。
#を入力すると AI にコマンドを聞くことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/913c4993-581f-373e-4f11-f24f2cf742a4.png)

試しに「phpでtestテーブルを作成するマイグレーションファイル生成」コマンドを聞いてみました。
すると、AIがコマンドを提示してくれます！
ちなみに、日本語以外でも対応可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/ae2ae8ff-576c-54d0-72ba-40a77eccbdb1.png)

あとは`Command　+ Enter`押すだけで、自動でAIが提案したコマンドが反映されます！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/0cd39de7-5e5c-98f1-4633-e093fb0adf5e.png)

## WarpAI
**Warp内で、ChatGPTのように質問もできます。**
画面右上の⚡︎マークを押すと Wrap AI ウィンドウが開き、会話形式で質問することができます。この機能にはChatGPTをベースとしている様です。

https://www.warp.dev/warp-ai

こちらの機能も試してみました。⚡︎マークを押すとWarpAIが表示されるので、あとは質問するだけです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/1eefcec7-736a-d6bd-2f21-6220b3cf42d8.png)

gitの打ち消しコマンドについて聞いてみました。先ほどのAI検索機能より詳細な確認をしたいときに使える。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/253d05e3-361a-4e17-4143-7fbd7b70fd9b.png)

## ブロックエディタ
コマンド入力とログの出力が1つのBlockとして扱われることで、入出力のコピーや共有が楽になったり、視覚的にも非常に見やすい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/62a7c852-0368-855f-5a07-8114588cd0a3.png)
「Copy Command」でコマンドのコピーも簡単。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/fbe36594-ffff-3193-0e16-44b6541f928c.png)
さらに、「Ask Warp AI」押すだけで、コマンドエラーの原因をAIに聞いてくれる。質問プロンプトを自分で記載しなくていいのがとても楽！（ただし日本語での回答が欲しい場合は、日本語回答の依頼を追加で記載が必要）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/1baa84f2-2551-7b9c-164a-90fad49147d6.png)

## 複数コマンドの実行
Warpでは、ブロック内で複数コマンドを実行することができます。`Shift+Enter`で改行を行うことができ、複数コマンドを記載すると、ブロック内で複数コマンドの実行ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/6e1d953a-783d-6f81-72f4-f72a88c01642.png)



## 履歴機能
VSCodeのデフォルトターミナルでも、`↑`を押下すると過去に打ち込んだコマンドを利用できます。ただかなり前に利用したコマンドの利用は大変です。
Warpには履歴機能があります。**`↑`を押下すると過去打ち込んだ履歴を確認することができます**。この履歴がかなり過去のものまで確認することがあるので個人的にはかなり便利です。もちろん閲覧だけでなく、使いたいコマンドあればクリックするだけで、反映されます。

`Control + r`を押下→`history`を選択する操作でも履歴の確認ができます。（こっちは操作が少し面倒なぶん、履歴の表示範囲が少し広い）
![スクリーンショット 2023-07-03 8.46.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/32bbdb04-5de5-335f-aa06-980cd991891f.png)

## コマンド補完機能
入力履歴に沿って、コマンドを補完し提示してくれます。**もしも提示コマンドを利用したい場合は`→`を押すだけで補完してくれます。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/26955616-7b80-dd7a-8a24-c6305df144a6.png)
さらに、**`Tab`を押すことで入力候補の一覧を表示も可能。**
試しにcdのみ打ち込んで、Tabを押して表示してみると、候補となるフォルダ一覧が表示され、コマンドが補完される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/e922dda4-898b-94a1-c6d3-ac3186e3377c.png)

## コマンドパレット
`Command+p`を押下すると、コマンドパレットが開けます。
使用可能なショートカットキー一覧が確認できるので、ショートカットキーが気になる際や忘れる際に便利です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/395c189f-4073-8de7-93fd-9383f5dbf794.png)

## WorkFlow
**よく使われるコマンドについて、確認/実行ができます。**
`^+↑+R`でWorkFlowを開くことができます。もしくはコマンドパレットでworkflowを調べてクリックすることでも開くことができます。
例えばdockerでよく使うコマンドをすぐ確認したいと思ったら、下記画像のように確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/6e601e46-662f-87c6-d23b-d45215a5a73a.png)

## テーマ選択もできる
Warpの設定からテーマ選択もできます。気分を変えたときなんかにおすすめです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2953307/834e8d77-06b2-556a-24ad-cf08e2b3db35.png)

# VSCodeの連携
WarpとVscodeを連携させることもできます。

https://www.warp.dev/blog/how-to-open-warp-vscode

# 個人的残念な部分
様々な便利な機能をご紹介していきましたが、唯一残念な部分があります。
**Warpでは日本語の入力が、`Enter`を押すまで表示されません。** AI検索機能で日本語使う際やコミット名で日本語使う際に結構不便です。。ぜひ今後修正されることを期待したいですね。

# まとめ
AI搭載という言葉に惹かれ使ってみたWarpですが、実際に使ってみるとかなり便利だなと日々感じてます！
ぜひ興味ある方は、この機会にwarpで色々触ってみてはいかがでしょうか？