简单来说,我知道在bash语句中可以使用ctrl+v+tab插入一个实际的制表符。但是在iTerm中如何执行相同的操作?
问题不在于iTerm,而是你的shell会影响如何插入制表符。
首先,请确保你正在使用BASH shell:输入以下命令:
$ echo $RANDOM $BASH_VERSINFO
23714 3
$ set -o
allexport off
braceexpand on
emacs on
errexit off
errtrace off
[...]
privileged off
verbose off
vi off
trace off
有两行是我们关注的,分别是emacs和vi。其中一个应该是开启的。如果它们都关闭了,您就无法使用Ctrl-V-Tab插入制表符。
当vi
模式开启时,应该像您说的那样使用Ctrl-V-Tab。在emacs
模式下,可以使用Ctrl-V-tab或可能是Ctrl-Q-tab。
然而,这不是的问题,而是您的shell正在执行此操作。
我不确定你为什么要将“bash语句”与iTerm进行比较。你可以在iTerm中编写bash脚本。这意味着,假设你正在iTerm中编写脚本,那么你已经在做你想做的事情了。
我猜你是指在vi和命令行中编写脚本的区别。我在命令行上输入特殊字符的方法是使用vi编辑模式。执行set -o vi
。然后你就可以像以前一样使用ctrl+v,然后再按tab。
在我看来,使用vi编辑模式还有其他很多优点,比如搜索历史记录、更快的导航等等。所以,如果你想的话,可以将它添加到你的.bashrc
中,并且一直使用它。
还应该尝试 Ctl + V Ctl + I。在 konsole 中,Ctl+V+Tab 不起作用。
var='hello[tab]Tim'
。我是在命令行上执行此操作,而不仅仅是在vi中。 - E.Cross