Мне нужно движение, которое перемещается в конец / начало блока Python, и мне нужно другое движение, которое перемещается в начало / конец предыдущего / следующего метода / класса (все комбинации).
Я пробовал vim-indent-object, python-mode, chapa, vim-python-object и т. Д. Ни один из них не поддерживает конец блока, и ни один из них не поддерживает все комбинации вышеуказанных движений.
Я помню , когда - то давно у меня был плагин , который при условии ]]
, [[
, ][
и []
движения на главную страницу / конец предыдущего / следующего метода / класса, но я не могу найти его в моем каталоге подключен (поиск «] [» и «[]» в моем подключенном каталоге и проанализировал все вхождения, но не нашел ничего, что определяло бы «] [» или «[]»).
Вы знаете плагин, который я использовал? Знаете ли вы какой-либо плагин, который обеспечивает эту функциональность?
[[
и]]
предоставлены по умолчанию Python ftplugin.[[
,]]
,(
,)
,{
и}
.[[
и]]
полезны в некоторых случаях , но моя главная проблема мне нужно[]
и][
или что - то подобное, что обеспечивает переход к концу следующего / предыдущего метода / класса.]e
решает большинство моих проблем, однако некоторые отображения в этом плагине, похоже, нарушены,]v
или]>
я постараюсь исправить их в развилке и опубликовать. Хотя мне все еще интересно, что за плагин предоставил,][
и[]
это было действительно полезно.Ответы:
С недавним обновлением (ноябрь 2017 г.)
$VIMRUNTIME/ftplugin/python.vim
для языка Python теперь доступны следующие специфичные для ft движения.[[
Перейти назад к началу текущего / предыдущего верхнего уровня[]
Перейти назад к концу предыдущего верхнего уровня][
Перейти к концу текущего верхнего уровня]]
Прыгайте вперед, чтобы начать следующий уровень[m
Перейти назад к началу текущего / предыдущего метода / области[M
Перейти назад к концу предыдущего метода / области]M
Перейти вперед к концу текущего / следующего метода / области]m
Перейти к началу следующего метода / областиПример файла Python
Это обновление должно быть включено, если ваш уровень обновления vim по крайней мере
8.0.1256
.Если вы не можете обновить, но хотите использовать эту функцию, вы можете установить самую последнюю версию в
~/.vim
каталог:Плагин Pythonsense
Этот плагин обеспечивает аналогичные движения, но немного изменен:
Все подробности и примеры приведены по адресу https://github.com/jeetsukumaran/vim-pythonsense#stock-vim-vs-pythonsense-motions .
источник
curl https://raw.githubusercontent.com/vim/vim/master/runtime/ftplugin/python.vim --create-dirs -o ~/.config/nvim/ftplugin/python.vim
.