Как быстро перемещаться по спискам функций arg в vim - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть следующее определение функции:

def test(these, are=0, args=1):
    pass

Я хочу найти быстрый и интуитивно понятный способ переключения между каждым аргументом.

Например, нажав w / b слишком медленный, потому что он ударит по запятым, но, что еще хуже, он достигнет =. W / B отлично работает, за исключением первого аргумента, потому что test(these - это "СЛОВО".

Существует ли способ навигации по этому списку, который работает одинаково для всех аргументов или естьобычная модификация для этого? Например, могу ли я переопределить, что такое СЛОВО, и заставить ( / ) разбить СЛОВО? Я не могу вспомнить хороший пример того, когда у меня было бы законное СЛОВО с пареном прямо посередине.

Ответы [ 2 ]

1 голос
/ 05 ноября 2019

Большая сложность со списками аргументов - сложные выражения и вызовы вложенных функций (например, foo(1, bar(2, 3), 4)). Чтобы справиться с этим, необходим хотя бы некоторый базовый анализ;простое сопоставление с образцом (как это можно сделать с помощью встроенных команд) не подойдет.

Я лично использую комбинацию базовых команд Vim, адаптированных к текущей ситуации (например, w / W /f{char}) и следующие плагины:

  • в сторону имеет сопоставления для перехода к следующим / предыдущим аргументам, для перемещения аргументов вокруг и соответствующие текстовые объекты
  • fieldtrip построен на боковой поверхности и предлагает подрежим , где отдельные клавиши могут затем использоваться для прыжка / перемещения
0 голосов
/ 04 ноября 2019

Просто попробуйте использовать ft f0 или f1, чтобы увидеть, могут ли эти прыжки помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...