2010-12-21 3 views
5

Vim에서 여러 번 반복하지 않고 특정 조건을 만족할 때까지 명령을 반복하고 싶습니다. 예를 들어,이 코드 정돈하기 위해 싶은 말 : 내가 일반적으로 할 것이 긴 이름을 가진 함수로 이동하는 것입니다Vim : "Count of Times"가 아닌 "Till Condition"명령 반복하기

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"; } 

눌러 '탭'다음이 하나와 일치하는 다른 기능의 다른 괄호를 맞 춥니 다. 분명히,이 작업은 커서가 다른 함수의 중괄호 앞에 위치 할 때까지 (예를 들어, 가장 긴 함수의 중괄호의 위치 인) 80을 추가하는 것입니다.

커서가 x 위치에 올 때까지 명령을 반복해도됩니까?

이것은 예제 일 뿐이며 특정 조건이 충족 될 때까지 명령을 반복해야합니다.

아이디어가 있으십니까?

+3

매우 구체적인 경우에는 맞춤 플러그인을 사용할 수 있습니다. http://www.vim.org/scripts/script.php?script_id=294보다 일반적인 의미로 질문에 대답하기 위해 각각의 경우에 대해 특정 기능을 개발하는 것 이외의 임의의 조건을 처리 할 수 ​​있습니다. –

+0

와우, 나 자신을 믿지 않아 .-) 그래, 솔직히, 나는 항상 "반복 편집"보다는 "조건부 편집"을 생각했다. 추상적으로 편집하는 것에 대해 생각한다면 편집을위한 규칙 (프로그래밍되지 않은 텍스트를 작성하는 경우조차도)이 항상 있으므로 특수한 프로그래밍 방식입니다. 어떻게 들리니?! – Rafid

+0

@Xavier, 고마워, 그래, 그 기능을 개발해야 할 것 같습니다. – Rafid

답변

3

vim을 통해서만이 작업을 수행하는 방법을 모르겠지만 Align 스크립트를 사용해보아야합니다.

+1

"조건부 편집"을 구현하는 것이 어렵다고 생각하므로 더 많은 회신을 보내지 않을 것입니다. 고맙습니다, 당신의 대답은 받아 들여지는 대답 일 수 있습니다. – Rafid