2010-12-21 25 views
5

我想多次在Vim中重复一个命令,直到某个条件满足,而不是多次,这一事情发生在我身上。例如,假设我想使这个代码整洁:Vim:重复命令“直到条件”而不是“次数”

Ogre::String GetConfigPath() const { return m_configPath; } 
Ogre::String GetConfigName() const { return m_configName; } 
Ogre::String GetConfigFileName() const { return m_configPath + m_configName + ".txt"; } 
Ogre::String GetConfigStateFileName() const { return m_configPath + m_configName + "-state.txt"; } 
Ogre::String GetConfigStatisticsFileName() const { return m_configPath + m_configName + "-statistics.txt"; } 
Ogre::String GetConfigDetailedStatisticsFileName() const { return m_configPath + m_configName + "-detailed_statistics.txt"; } 

我最常做的是去功能与最长的名字,请按“Tab”然后对齐的其他功能的其他括号匹配这一个。显然,现在的任务是在其他函数的大括号之前添加空格,直到光标处于位置,例如80(最长函数的大括号的位置)。

有没有反复的命令,直到光标在位置x?

这只是一个例子,我经常需要重复一个命令,直到某个条件满足。

有什么想法?

+3

对于这个非常特殊的情况,你可以使用Align插件:http://www.vim.org/scripts/script.php?script_id=294要回答你的问题,更普遍的意义,我不知道如何除了针对每种情况开发特定功能之外,您可以处理任意条件。 – 2010-12-21 16:27:03

+0

哇,我不相信我自己:-)是的,说实话,我总是想到“条件编辑”而不是“重复编辑”。如果你想抽象编辑,它是一种特殊的编程方式,因为你总是有编辑规则(即使编写非编程文本)。听上去怎么样?! – Rafid 2010-12-21 16:29:34

回答

3

我不知道如何通过vim做到这一点,但我相信你应该尝试Align脚本。

相关问题