プロンプトを普段のエディタで書けるツールeditpromptの使い方
この記事はVim駅伝の2025年7月16日の記事です。
前回(2025年7月14日)uma-chanさんのVimへの初コントリビューションの経緯と学び – uma-chan’s pageでした。
Claude Codeを使っているときの頭の中。
「改行。あ!送信されちゃった……」
「今はclaude
だから ctrl+jで改行、よし改行できた。で、……」
改行のコンテキストスイッチで思考を使うのってもったいないですよね。どうせなら慣れ親しんだエディタで思考の速度で入力したいものです。
他のCLIでも同じようなストレスが結構あります。これを解決できるツールeditpromptを紹介します。筆者製です。Neovimから快適に入力したいので作りました。
editpromptとは
editpromptはプロンプトを好きなエディタから入力できるツールです。zshのedit-command-line
みたいなやつです。
動画の例はこんな流れです。
- tmuxのキーバインドでeditpromptを実行
- Neovimでプロンプトを書く
- 保存して終了するとtmuxのペインが閉じ、Claude Codeにプロンプトが入力される
例ではtmuxですが、weztermでも自動送信に対応しています。tmuxとwezterm以外の環境でも クリップボードにコピーされる ので使えます。
メリット
慣れ親しんだエディタを使ってプロンプトを入力できるため、改行に対する認知負荷が無くなります。
dotfiles盆栽でカスタマイズしまくったエディタを使うことで、補完やスニペット、プラグイン、シンタックスハイライトなど使い放題です。
最近は減りましたが、日本語入力が安定しないCLIでも重宝します。
インストール
npmパッケージとして公開しているため、次のようなコマンドでインストールできます。
npm install -g editprompt
ちょっと試したいだけならnpx
で実行できます。
npx editprompt
デフォルトでは環境変数$EDITOR
のコマンドをエディタとして開きます。
tmuxやweztermと使おう
tmuxやweztermの場合、READMEに記載しているようにキーバインドを設定することで「ペインへ自動送信」できます。筆者はtmuxで次のように設定してます。
bind -n M-q run-shell 'tmux split-window -v -l 15 \ -c "#{pane_current_path}" \ "editprompt --editor nvim --always-copy --target-pane #{pane_id}"'
Alt+qを押すと、下に20行分の高さでNeovimが開きます。
エディタを閉じると自動的にペインも閉じます。書いたプロンプトは指定されたCLIに入力されます。
tmux・wezterm以外の場合
tmuxあるいはweztermでない場合は単純にeditprompt
を実行してください。
editprompt
エディタを閉じると書いたプロンプトがクリップボードに入ります。後は貼り付けるだけです。
エディタの指定
前述のとおり、エディタを引数--editor
・-e
で指定できます。
editprompt --editor vim
プロンプト以外でも使える
例ではClaude Codeを上げましたが、任意の入力に対応しています。Codex、GeminiなどAIエージェントの他、別にAI関係なくCLIの入力に使えます。
合わせて使うと便利なNeovimプラグイン
補完・スニペット・Tree-sitterは入れている人が多いと思うので割愛。
- render-markdown.nvim
- 別の記事で解説
- Tree-sitterだけでも見やすいけど、リンクとか引用を書く時にもっと見やすくなる
- emmet-vim
- XML形式でプロンプトを書く時に便利
他にもあったら追記していきます。
以上、自作ツールeditpromptの紹介でした。
プロンプトの内容をファイルやissueに書いておく方法が増えましたが、「記事の構成を練る」のような対話中心の場合だと長文だったり箇条書きが多いため重宝しています。No more改行の苦しみ。