Eu preciso de um movimento que se mova para o fim / início de um bloco python, e eu preciso de outro movimento que se mova para o início / fim do método / classe anterior / seguinte (todas as combinações).
Eu tentei vim-indent-object, python-mode, chapa, vim-python-object, etc. Nenhum deles suporta o fim do bloco e nenhum deles suporta todas as combinações dos movimentos acima.
Lembro-me de certa vez eu tive um plugin que forneceu ]]
, [[
, ][
e []
propostas de começando / fim da anterior / seguinte método / classe, mas eu não posso encontrá-lo em meu diretório conectado (procurado "] [" e "[]" no meu diretório conectado e analisei todas as ocorrências, mas não encontrei nada que definisse "] [" ou "[]").
Você conhece o plugin que eu costumava usar? Você conhece algum plug-in que ofereça essa funcionalidade?
fonte
[[
e]]
, são fornecidos pelo python ftplugin padrão.[[
,]]
,(
,)
,{
e}
.[[
e]]
são úteis em alguns casos, mas o meu principal problema é que eu preciso[]
e][
ou algo parecido, que fornece salta para final do próximo / anterior método / classe.]e
resolve a maioria dos meus problemas, no entanto, alguns mapeamentos neste plugin parecem estar quebrados]v
ou]>
tentarei corrigi-los em um fork e publicá-los. Embora eu ainda queira saber qual foi o plug-in que forneceu][
e[]
foi realmente útil.Respostas:
Com a atualização recente (novembro de 2017) dos
$VIMRUNTIME/ftplugin/python.vim
seguintes movimentos específicos de ft, agora estão disponíveis para a linguagem python[[
Pule para trás para começar o nível superior atual / anterior[]
Pule para trás até o final do nível superior anterior][
Avança para o final do nível superior atual]]
Avança para o início do próximo nível superior[m
Pule para trás para começar o método / escopo atual / anterior[M
Retroceda para o final do método / escopo anterior]M
Avançar para o final do atual / próximo método / escopo]m
Avance para o início do próximo método / escopoArquivo python de exemplo
Esta atualização deve ser incluída se o nível do patch do vim for pelo menos
8.0.1256
.Se você não pode atualizar, mas deseja usar essa funcionalidade, pode instalar a versão mais recente no
~/.vim
diretório:Plugin Pythonsense
Este plugin fornece movimentos semelhantes, mas ligeiramente modificados:
Todos os detalhes e exemplos são fornecidos em https://github.com/jeetsukumaran/vim-pythonsense#stock-vim-vs-pythonsense-motions .
fonte
curl https://raw.githubusercontent.com/vim/vim/master/runtime/ftplugin/python.vim --create-dirs -o ~/.config/nvim/ftplugin/python.vim
.