簡単に言えば、物理的に本物のタブ文字を bash ステートメントに挿入するためにctrl+ v+を実行できることを私は知っています。tabしかし、iTermで同じことを行うにはどうすればよいですか?
5 に答える
答えは、control+v を押してからタブを押すことでした。すべてを同時にではありません! これが誰かに役立つことを願っています。
iTerm ではなく、タブを挿入する方法に影響を与えるシェルです。
まず、BASH シェルにいることを確認します。次のコマンドを入力します。
$ echo $RANDOM $BASH_VERSINFO
23714 3
1 つ目は乱数で、2 つ目は BASH のバージョン番号です。空白行または単なる乱数が表示される場合は、BASH シェルではなく、おそらく問題の 1 つです。
別のことは、このコマンドを実行することです:
$ set -o
allexport off
braceexpand on
emacs on
errexit off
errtrace off
[...]
privileged off
verbose off
vi off
trace off
注目すべき 2 つの行は、emacsとviの行です。それらの 1 つがオンになっている必要があります。両方ともオフの場合、 Ctrl-V-Tabを実行してタブ文字を挿入することはできません。
vi
モードがオンのときは、あなたが言ったようにCtrl-V-Tabにする必要があります。emacs
モードがオンの場合、それはCtrl -V-tabか、場合によってはCtrl-Q-tabです。
ただし、これは問題ではありませんiTerm
。これは、それを実行しているシェルです。
「物理的に実際のタブ文字」とは、タブの16進コード(0x09)をシェルに送信することを意味する場合、Ctrl + Tab(⌃⇥)を押すことにより、iTermでこれを行うことができます。
これはデフォルト設定ですが、iTerm>環境設定>プロファイル>キーで変更(および送信する他の16進コード値を追加)できます。
「bashステートメント」をiTermと比較している理由がわかりません。iTerm で bash スクリプトを作成します。つまり、iTerm でスクリプトを作成していると仮定すると、既にやりたいことを実行しているということです。
viとコマンドラインでスクリプトを作成することを意味していると思います。コマンドラインでリテラル文字を取得する方法は、vi 編集モードを使用することです。してくださいset -o vi
。その後、慣れ親しんだ方法でctrl+vに続けて使用できtabます。
IMO、vi 編集モードを使用すると、履歴の検索、ナビゲーションの高速化など、他にも多くの利点があります。したがって、必要に.bashrc
応じてそれを追加して、いつでも使用できます。