修太2022.04.07108346この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。IntroductionWarpは、生産性と使い勝手を考えて再設計されたRust製のterminalです。先日パブリックベータが開始され、誰でも使えるようになりました。他のプラットフォーム近日対応予定とのこと完全Rustネイティブのアプリで、GPUでレンダリングするので高速です。いまの開発に適した、モダンな機能をそなえたterminalになっています。Warp?ここに、なんでいまさらterminal?の理由が書いてます。開発者ならコードエディタとターミナルは絶対使うコードエディタはどんどん進化してるがterminalは昔から変わってないから再開発したWarpの入力は最新のテキストエディタみたいに使える。出力はnotebookみたいに使える。使うコマンドをsuggestionしたり、ワークフロー機能でコマンド入力を楽にするみたいな感じです。Warpは開発者が使いやすくなるようterminalを機能させます。Environment以下の環境で試しました。macでも問題なく動きます。11.3.1SetupここからWarp.dmgをダウンロードしてインストールします。途中でGithubの認証が入りますが、Githubアカウントのメールへアクセス可能にするための処理になります。正式リリース時にはGithub経由のログインは不要になるとのことです。WarpWarpを起動したら普通にterminalとしてそのまま使えます。タブでコンソール分割できるし、1つのタブ内で分割することもできます。Paletteが表示。目的のショートカットを検索するにはここで探しましょう。Enterで複数行の入力も可能です。clickで複数行を選択して、複数行の同時入力ができます。BlocksWarpでは、コマンド入力とアウトプットを1つのグループ(Blocks)として扱います。これにより、コマンドやその出力をコピーしたり、コマンドの入出力を共有したりも可能です。※Blocksの実現方法についてはここで解説していますではコマンド実行をおこなって、結果を共有してみましょう。現在、共有したリンクは誰でもアクセス可能なので注意してください。Linkボタンを押すと、Warpの管理するサーバにコマンドと結果がアップロードされてリンクが生成されます。このリンク先ではコマンドとその結果がコピーできます。現状、このリンクは誰でもアクセス可能なので注意してください。将来的には制限がかかる予定とのことです。blocksを選択して取り消してください。SSH先でもWarpterminalの役割として、リモートサーバにsshログインして作業することも多いと思います。入力エディタや補完機能などをそのまま使えます。BlocksのようなWarp特有の機能は、現在bashかzshにしか対応してないので詳しくはここを参照してください。workflowWarpでは、workflowという「Warp内でコマンドを実行して共有するための機能」をもっています。任意のコマンドをまとめたりパラメータ化でき、検索や共有も可能です。Rでworkflowメニューにアクセスでき、検索や実行ができます。↑ではgitの新しいブランチを作成してremoteにpushするワークフローを選択しています。フォーマットにしたがって記述すれば、自分でワークフローを定義できます。workflowについてはここを参照してください。今後はさらに機能が追加されていく予定です。近日公開予定されている機能としては、ターミナル共有(複数人でのリアルタイムコラボレーション)やターミナルでのドキュメント実行(jupyterみたいな機能?)があります。Warpで使用しているUIフレームワークやクライアントコードベースをオープンソース化する予定もあるとのことなので楽しみですね。Summary本稿ではWarpについて紹介しました。今回触れていない機能もまだまだあるので、ドキュメントを確認してみてください。