5

Допустим, у нас есть файл, содержащий это:

name, job, age
Mark, Specialist, 24
Bob Guy, Manager, 43
Susan Third, Data Generation, 30

Что я хочу сделать, это перемещаться по полям. Перейти к следующему полю, выбрать поле и т.д. Это легко сделать в VIM, ища запятые (и предполагая, что нет запятых); это также возможно в Sublime Text? И таким образом, который работает с несколькими курсорами, скажем, один в начале каждой строки?

Бонусные баллы, если вы можете продлить его до перехода к следующему совпадению подстроки или регулярному выражению.

3 ответа3

5

В вашем конкретном случае, хороший поиск для выделения каждого значения будет \w[^,\n]+ - обязательно нажмите кнопку регулярного выражения или нажмите Alt+R (Windows) / Cmd+Option+R (Mac) в поле поиска.

Чтобы перейти к следующему совпадению, используйте F3 (Windows) / Cmd+G (Mac). Shift+F3 / Cmd+Shift+G перейдет к предыдущему совпадению. Вы можете продолжить делать это после нажатия Esc, чтобы закрыть поле поиска, и это позволит вам немедленно редактировать выбранное совпадение.

К сожалению, не похоже, что find-next может сосуществовать с несколькими вариантами выбора - в итоге выделяется первое совпадение в последнем выборе. Вы можете выделить несколько строк, затем разделить выделение на строки, а затем использовать стрелки Ctrl (Windows) / Cmd (Mac) + или , но это, очевидно, развалится, если в некоторых значениях есть пробелы.

4

Один из способов сделать это - использовать винтажный режим.

Отредактируйте ваши предпочтения (например, « Settings - User), чтобы не игнорировать винтажный пакет (который используется в настройках по умолчанию).

{
    "ignored_packages": []
}

Если у вас есть несколько курсоров, используйте команду vim f за которой следует символ, чтобы переместить все курсоры к следующей находке этого символа. (см. https://stackoverflow.com/questions/12495442/what-do-the-f-and-t-commands-do-in-vim)

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

0
  • CTRL+A => выбрать весь файл
  • CTRL+SHIFT+L => разделить выделение на строки
  • Home => переместить все выборки в начало строки
  • ESC => войти в командный режим
  • е, => найти и переместить курсоры в каждой строке на первую точку с запятой (повторить , пока вы не на ту , который вы ищете)
  • я => войти в режим вставки

Работа выполнена :)

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