Necesito un movimiento que se mueva al final / principio de un bloque de python, y necesito otro movimiento que se mueva al principio / final del método / clase anterior / siguiente (todas las combinaciones).
He intentado vim-indent-object, python-mode, chapa, vim-python-object, etc. Ninguno de ellos admite el final del bloque, y ninguno admite todas las combinaciones de los movimientos anteriores.
Recuerdo que una vez un tiempo tuve un plugin que proporciona ]]
, [[
, ][
y []
propuestas de begining / final de / siguiente método / clase anterior, pero yo no lo encuentro en mi directorio enchufado (buscado "] [" y "[]" en mi directorio conectado y analicé todas las ocurrencias pero no encontré nada que defina "] [" o "[]").
¿Conoces el complemento que solía usar? ¿Conoces algún complemento que brinde esta funcionalidad?
fuente
[[
y]]
, son proporcionados por el ftplugin predeterminado de python.[[
,]]
,(
,)
,{
y}
.[[
y]]
son útiles en algunos casos, pero mi problema principal es que necesito[]
y /][
o algo así, que proporciona saltos al final del método / clase siguiente / anterior.]e
resuelve la mayoría de mis problemas, sin embargo, algunas asignaciones en este complemento parecen estar rotas]v
o]>
intentaré solucionarlas en un tenedor y publicarlo. Aunque todavía me pregunto cuál fue el complemento que proporcionó][
y[]
fue realmente útil.Respuestas:
Con la actualización reciente (noviembre de 2017) de los
$VIMRUNTIME/ftplugin/python.vim
siguientes movimientos específicos de ft ahora están disponibles para el lenguaje python[[
Salta hacia atrás para comenzar el nivel superior actual / anterior[]
Salta hacia atrás hasta el final del nivel superior anterior][
Salta hacia adelante hasta el final del nivel superior actual]]
Salta hacia adelante para comenzar el siguiente nivel superior[m
Salte hacia atrás para comenzar con el método / alcance actual / anterior[M
Saltar hacia atrás al final del método / alcance anterior]M
Avanzar al final del método / alcance actual / siguiente]m
Salte hacia adelante para comenzar el próximo método / alcanceArchivo de ejemplo de Python
Esta actualización debe incluirse si su nivel de parche vim es al menos
8.0.1256
.Si no puede actualizar pero desea utilizar esta funcionalidad, puede instalar la versión más reciente en el
~/.vim
directorio:Plugin Pythonsense
Este complemento proporciona movimientos similares pero ligeramente modificados:
Todos los detalles y ejemplos se dan en https://github.com/jeetsukumaran/vim-pythonsense#stock-vim-vs-pythonsense-motions .
fuente
curl https://raw.githubusercontent.com/vim/vim/master/runtime/ftplugin/python.vim --create-dirs -o ~/.config/nvim/ftplugin/python.vim
.