1

например, у меня есть этот мир кода Java

public String setType(String newType) {
  this.type = newType:
}

Я выбираю все это, и я хотел бы искать и заменять тип по модели, но независимо от первой буквы, так что тип заменяется моделью, а тип заменяется моделью:

public String setModel(String newModel) {
  this.model = newModel:
}

Я не могу найти способ сделать это в VIM с помощью только одной команды, я попробовал их безуспешно:

:'<.'>s/[tT]ype/[mM]odel/g
:'<.'>s/\(t\|T\)ype/\(m\|M\)odel/g

Любая идея?

1 ответ1

1

Вы можете использовать такой плагин, как SmartCase:

:'<,'>s/type/\=SmartCase('model')/gi

Без плагина вы также должны использовать :help sub-replace-expr:

:'<,'>s/\([tT]\)ype/\=submatch(1) ==# 't' ? 'model' : 'Model'/g

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .