2

set smartindent的 Vim 配置文件中有,但我想修改 Vim 中自动制表符插入的一个方面。例如,假设我开始输入一个 for 循环:

1. for (auto& foo : bar) {
2.

在我按下回车键后,Vim 会在第 2 行的开头插入一个制表符,这正是我想要的。但是如果意识到我需要跳转到文件中的其他位置来修改某些内容,然后返回到第 2 行,则该选项卡不再存在。时不时地按几次制表符并不是什么大问题,当我编写具有大量缩进的复杂算法时,不得不多次混合制表键可能会令人沮丧。

什么是让 Vim 在执行自动缩进时实际将制表符写入当前缓冲区的最佳解决方案而不是只让我有机会在我从上一行点击返回时插入制表符?

谢谢你的帮助!

4

1 回答 1

0

它看起来像是一种故意设计的行为。当用户跳开然后回到原来的地方(Line 2)时,original tabs迷路了。 而不是移动到 Line 2,用户可以移动到Line 1,然后按o,用户会自动缩进新的 Line 2。同时,用户可以使用 Vim 提供的所有功能,map甚至vimscript是一种新的方式来保持old tabs. 由此,我很佩服 Vi/Vim 的设计。

简而言之,当跳回 时Line: 1.,按oNew indented Line 2.出现。

于 2012-04-07T17:49:08.407 回答