我的Vim配置文件中有set smartindent
,但我想修改Vim中自动插入选项卡的一个方面。例如,假设我开始键入for循环:
1. for (auto& foo : bar) {
2.
在我点击return后,Vim友好地在第2行的开头插入了一个选项卡,这正是我想要的。但如果意识到我需要跳到文件中的其他地方来修改某些内容,然后返回到第2行,选项卡就不在了。时不时地点击几次tab键并不是什么大不了的事,因为当我写一个有很多缩进的复杂算法时,必须多次混搭tab键可能会让我感到沮丧。
在进行自动缩进时,最好的解决方案是让Vim在当前缓冲区中实际写入一个选项卡,而不是只在我从上一行返回时给我插入选项卡的机会?
谢谢你的帮助!
它看起来像是一种有意设计的行为。当用户跳开然后移回原来的位置(Line 2
)时,original tabs
丢失用户可以移动到Line 1
,而不是移动到第2行,然后按o,用户将自动缩进新的第2行。同时,用户可以使用Vim提供给map
甚至vimscript
的所有功率来保持old tabs
。由此,我很欣赏Vi/Vim的设计。
简而言之,当跳回到Line: 1.
时,按o。出现New indented Line 2.
。