Мне часто случается, что я хочу повторить команду в 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?
Это всего лишь пример, и мне часто приходится повторять команду, пока не будет выполнено определенное условие.
Есть идеи?