Saya membutuhkan gerakan yang bergerak ke akhir / awal blok python, dan saya membutuhkan gerakan lain yang bergerak ke awal / akhir metode / kelas sebelumnya / berikutnya (semua kombinasi).
Saya sudah mencoba vim-indent-object, python-mode, chapa, vim-python-object, dll. Tidak ada yang mendukung end of block, dan tidak ada yang mendukung semua kombinasi gerakan di atas.
Saya ingat sekali waktu saya memiliki sebuah plugin yang disediakan ]]
, [[
, ][
dan []
gerakan untuk awal / akhir sebelumnya / berikutnya metode / kelas, tapi aku tidak bisa menemukannya di direktori saya terpasang (mencari "] [" dan "[]" di direktori saya yang terhubung dan menganalisis semua kejadian tetapi tidak menemukan apa pun yang mendefinisikan "] [" atau "[]").
Apakah Anda tahu plugin yang saya gunakan? Apakah Anda tahu ada plugin yang menyediakan fungsi ini?
sumber
[[
dan]]
, disediakan oleh ftplugin python default.[[
,]]
,(
,)
,{
dan}
.[[
dan]]
berguna dalam beberapa kasus tetapi masalah utama saya adalah saya perlu[]
dan][
atau sesuatu seperti itu, yang memberikan lompatan ke akhir metode / kelas berikutnya / sebelumnya.]e
memecahkan sebagian besar masalah saya, namun beberapa pemetaan dalam plugin ini tampaknya rusak seperti]v
atau]>
saya akan mencoba memperbaikinya dalam garpu dan mempublikasikannya. Meskipun saya masih bertanya-tanya apa plugin yang disediakan][
dan[]
itu benar-benar bermanfaat.Jawaban:
Dengan pembaruan terbaru (Nov 2017) dari
$VIMRUNTIME/ftplugin/python.vim
gerakan spesifik ft berikut kini tersedia untuk bahasa python[[
Lompat mundur untuk memulai tingkat tertinggi saat ini / sebelumnya[]
Lompat mundur ke ujung tingkat teratas sebelumnya][
Lompat ke depan ke ujung tingkat saat ini]]
Lompat ke depan untuk memulai tingkat atas berikutnya[m
Melompat mundur untuk memulai metode / ruang lingkup saat ini / sebelumnya[M
Lompat mundur ke akhir metode / ruang lingkup sebelumnya]M
Melompat ke depan ke akhir metode / lingkup saat ini / berikutnya]m
Lompat ke depan untuk memulai metode / ruang lingkup berikutnyaContoh file python
Pembaruan ini harus disertakan jika tingkat tambalan vim Anda setidaknya
8.0.1256
.Jika Anda tidak dapat memperbarui tetapi ingin menggunakan fungsi ini, Anda dapat menginstal versi terbaru ke
~/.vim
direktori:Plugin Pythonsense
Plugin ini memberikan gerakan serupa tetapi sedikit dimodifikasi:
Semua detail dan contoh diberikan di https://github.com/jeetsukumaran/vim-pythonsense#stock-vim-vs-pythonsense-motions .
sumber
curl https://raw.githubusercontent.com/vim/vim/master/runtime/ftplugin/python.vim --create-dirs -o ~/.config/nvim/ftplugin/python.vim
.