17

简单地说,我知道你可以做ctrl++在vbashtab语句中插入一个物理上真实的制表符。但是我如何为 iTerm 做同样的事情呢?

4

5 回答 5

29

答案是按 control+v,然后按 tab,而不是一起!希望这可以帮助某人。

于 2012-05-18T17:50:03.017 回答
1

影响插入选项卡方式的不是 iTerm,而是您的 shell。

首先,确保您在 BASH shell 中:键入以下命令:

$ echo $RANDOM $BASH_VERSINFO
23714 3

第一个是随机数,第二个应该是 BASH 版本号。如果您得到一个空行或只是一个随机数,那么您不在 BASH shell 中,这可能是您的问题之一。

另一件事是执行此命令:

$ set -o
allexport       off
braceexpand     on
emacs           on
errexit         off
errtrace        off
[...]
privileged      off
verbose         off
vi              off
trace           off

感兴趣的两行是emacsvi行。其中之一应该打开。如果它们都关闭,则无法使用Ctrl-V-Tab插入制表符。

vi模式打开时,它应该是Ctrl-V-Tab就像你说的那样。开启emacs模式后,它可以是Ctrl-V-tab,也可能是Ctrl-Q-tab

然而,这不是一iTerm件事,这是你的外壳在做这件事。

于 2012-05-17T03:25:55.630 回答
0

如果“物理上真正的制表符”是指将制表符十六进制代码(0x09) 发送到外壳,那么您可以在 iTerm 中通过按 Ctrl + Tab (⌃ ⇥) 来执行此操作。

这是默认设置,尽管您可以在 iTerm > Preferences > Profiles > Keys 中更改它(以及添加其他要发送的十六进制代码值)。

于 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 回答
0

还应该尝试 Ctl + V Ctl + I。它在 Ctl+V+Tab 不起作用的 konsole 中工作。

于 2020-03-15T07:47:56.290 回答