VIで現在のシェルコマンドを編集する方法


31

Linuxマシンのブログで、ctrl-x、ctrl-eを押して、VIの現在のbashシェルコマンド(またはEDITORが設定されているもの)を編集できることを確認しました。

これは10.8では機能しないようです。デフォルトのエディターで現在のbashコマンドを編集する方法に関するアイデアはありますか?


これ 10.8で動作するはずです(少なくとも私にとってはうまくいきます)。FCEDITとEDITORの設定を解除しようとしましたか?
nohillside

C-xC-eのドキュメントはこちらです - VISUAL変数には何が含まれていますか?
グレンジャックマン

約10.8ではありません。私は10.8を使用していますが、問題なく動作します。これを有効にするために.bash_profileを変更しませんでした。
ビンセント


1
Ctrl +(x、e)(ctrlを押しながらxを押し、eを押し、制御を解除する)を実行していることに気付きました。これがうまくいかなかった理由です。2つの明確なストロークCtrl-xを押すことに変更したとき、Ctrl、Ctrl-eを離すと、すべてが完全に機能し始めました!
Dimitry K

回答:


32

あなたがしたいset -o vi(あなたのに追加します~/.bashrc)。次に、現在の行を編集するには、ヒットEscしてコマンドモードに入ります。

http://www.gnu.org/software/bash/manual/bashref.html#Readline-vi-Modeを参照してください

フルスクリーンエディターで現在のコマンドを編集するには、VISUAL環境変数をvim(必要だと思いますvim)に設定し、現在のコメントのコマンドモードでを押しますv


5
「v」を押すことは、私が行方不明だった秘密のソースでした。ありがとう。
スコットウォルター

2
vemacs(非vi)モードでこのコマンドを取得することは可能ですか?
アレックスカーン

10
Ctrl-Xを実行してからCtrl-Eを実行します。
アルバパ

7

あなたedit-and-execute-commandviモードに縛られないかもしれません。試してください:

bind -m vi-insert '"\C-x\C-e": edit-and-execute-command'

永続的にするには、その行を~/.inputrcファイルに追加します。

この回答を介し ;リンクの@unforgettableidにクレジット)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.