pydo
Vim 7.4'ten beri mevcut olan komutu kullanabilirsiniz, kılavuzda çalışabileceğimden daha iyi nasıl çalıştığı açıklanmaktadır:
: [aralık] pydo {gövde}
Python işlevini "def _vim_pydo (line, linenr): {body}" işlevini, [aralık] içindeki her satır için, işlev bağımsız değişkenleri sırayla, her satırın metnine bir sıra <EOL> ve geçerli olmadan ayarlanmış olarak yürütün satır numarası. İşlev bir dize veya Yok döndürmelidir. Bir dize döndürülürse, geçerli dönüşte satırın metni olur. [Aralık] için varsayılan, tüm dosyadır: "1, $".
Örneğiniz için aşağıdaki gibi bir komut kullanabilirsiniz:
:python import vim
:pydo vim.current.buffer[linenr - 1] = '[%s]' % line
linenr - 1
Çizgiler çünkü orada biraz vim.current.buffer
0 endeksli ama Vim 1'den satırları saymak başlar.
Güzel olan şey, Python kodunuzu çeşitli satırlarda çalıştırmak için kolayca özel bir komut tanımlamanızdır:
command! -range=% BracketLines
\ <line1>,<line2>pydo vim.current.buffer[linenr - 1] = '[%s]' % line