На клавиатуре вставляем строку кода в (mac) vim, для pdb
Я ищу способ вставить строку кода с нажатием клавиши leader p в Macvim
Я хочу вставить следующую строку кода:
import pdb; pdb.set_trace()
Вероятно, это не неслыханная строка кода на земле python
Ответы
Ответ 1
Это может быть не самый лучший vimscript каждый, но он ват вы хотите!:-) Просто поместите это в свой .vimrc, и вы можете вызвать его с помощью лидера p.
map <Leader>p :call InsertLine()<CR>
function! InsertLine()
let trace = expand("import pdb; pdb.set_trace()")
execute "normal o".trace
endfunction
Ответ 2
Я бы использовал простое отображение (без функций) для лидера p:
nnoremap <leader>p oimport pdb; pdb.set_trace()<Esc>
При нажатии o это входит в режим вставки, вставляет пустую строку после текущей (с o), а затем набирает import pdb; pdb.set_trace()
, и, наконец, возвращается в нормальный режим (с Esq).
Если вы хотите вставить код до того, как текущая строка заменит o на O:
nnoremap <leader>p oimport pdb; pdb.set_trace()<Esc>
Или, альтернативно, вы можете установить это для leader shift-p:
nnoremap <leader><S-p> Oimport pdb; pdb.set_trace()<Esc>
Ответ 3
Почему бы не попробовать плагин vimpdb? В качестве альтернативы, если вы ищете функциональность фрагмента, комбинация supertab и snipmate плагины отлично работают.
Ответ 4
Использование регистров?
напишите эту строку где-нибудь и скопируйте ее, чтобы зарегистрировать p
, затем используйте "pp
для печати
import pdb; pdb.set_trace()
"pY
"pp
import pdb; pdb.set_trace()
или используйте аббревиатуры
:ab teh the