17

簡単に言えば、物理的に本物のタブ文字を bash ステートメントに挿入するためにctrl+ v+を実行できることを私は知っています。tabしかし、iTermで同じことを行うにはどうすればよいですか?

4

5 に答える 5

29

答えは、control+v を押してからタブを押すことでした。すべてを同時にではありません! これが誰かに役立つことを願っています。

于 2012-05-18T17:50:03.017 に答える
1

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 つの行は、emacsviの行です。それらの 1 つがオンになっている必要があります。両方ともオフの場合、 Ctrl-V-Tabを実行してタブ文字を挿入することはできません。

viモードがオンのときは、あなたが言ったようにCtrl-V-Tabにする必要があります。emacsモードがオンの場合、それはCtrl -V-tabか、場合によってはCtrl-Q-tabです。

ただし、これは問題ではありませんiTerm。これは、それを実行しているシェルです。

于 2012-05-17T03:25:55.630 に答える
0

「物理的に実際のタブ文字」とは、タブの16進コード(0x09)をシェルに送信することを意味する場合、Ctrl + Tab(⌃⇥)を押すことにより、iTermでこれを行うことができます。

これはデフォルト設定ですが、iTerm>環境設定>プロファイル>キーで変更(および送信する他の16進コード値を追加)できます。

于 2012-05-16T23:23:18.970 に答える
0

「bashステートメント」をiTermと比較している理由がわかりません。iTerm で bash スクリプトを作成します。つまり、iTerm でスクリプトを作成していると仮定すると、既にやりたいことを実行しているということです。

viとコマンドラインでスクリプトを作成することを意味していると思います。コマンドラインでリテラル文字を取得する方法は、vi 編集モードを使用することです。してくださいset -o vi。その後、慣れ親しんだ方法でctrl+vに続けて使用できtabます。

IMO、vi 編集モードを使用すると、履歴の検索、ナビゲーションの高速化など、他にも多くの利点があります。したがって、必要に.bashrc応じてそれを追加して、いつでも使用できます。

于 2012-05-17T02:06:35.323 に答える