プロンプトを普段のエディタで書けるツール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にプロンプトが入力される
メリット
慣れ親しんだエディタを使ってプロンプトを入力できるため、改行に対する認知負荷が無くなります。
dotfiles盆栽でカスタマイズしまくったエディタを使うことで、補完やスニペット、プラグイン、シンタックスハイライトなど使い放題です。
最近は減りましたが、日本語入力が安定しないCLIでも重宝します。
インストール
npmパッケージとして公開しているため、次のようなコマンドでインストールできます。
npm install -g editprompt
ちょっと試したいだけならnpx
で実行できます。
npx editprompt
デフォルトでは環境変数$EDITOR
のコマンドをエディタとして開きます。
tmuxと使おう
tmuxと一緒に使うのがおすすめです。筆者は次のように設定してます。
bind -n M-q run-shell 'tmux split-window -v -l 20 \ -c "#{pane_current_path}" \ "editprompt --editor nvim --target-pane #{pane_id}"'
Alt+qを押すと、下に20行分の高さでNeovimが開きます。
エディタを閉じると自動的にペインも閉じます。書いたプロンプトは指定されたCLIに入力されます。
tmux以外の場合
tmuxじゃない場合は単純にeditprompt
を実行してください。
editprompt
エディタを閉じると書いたプロンプトがクリップボードに入ります。というわけでリッチなGUIツールの場合、後は貼り付けるだけです。
エディタの指定
前述のとおり、エディタを引数--editor
・-e
で指定できます。
editprompt --editor vim
Claude Code以外でも使う
デフォルトはプロセス名がclaude
のやつに送信しますが、それ以外も指定できます。たとえばgeminiの場合はこんな感じ。
editprompt --process gemini
プロンプトに限らず、普通のテキストも送信できます。
合わせて使うと便利なNeovimプラグイン
補完・スニペット・Tree-sitterは入れている人が多いと思うので割愛。
- render-markdown.nvim
- 別の記事で解説
- Tree-sitterだけでも見やすいけど、リンクとか引用を書く時にもっと見やすくなる
- emmet-vim
- XML形式でプロンプトを書く時に便利
他にもあったら追記していきます。
以上、自作ツールeditpromptの紹介でした。
プロンプトの内容をファイルやissueに書いておく方法が増えましたが、「記事の構成を練る」のような対話中心の場合だと長文だったり箇条書きが多いため重宝しています。No more改行の苦しみ。