我经常在调试时将binding.pry
插入我的ruby文件中。当我使用Vim时,我喜欢自动化它以避免每次重新输入它。我怎么能这样做?
我要映射的确切顺序是:
binding.pry
插入新创建的行。 编辑: binding.pry
是我要粘贴的文字,而不是文件。
插入之前:
a = 1
b = 2
插入后:
a = 1
binding.pry
b = 2
答案 0 :(得分:20)
录制宏(未经测试)
qq " record macro to register q
o " insert empty line below cursor
esc " exit insert-mode
:r /path/to/binding.pry " insert content of file
esc " cmd-mode
q " end recording
要执行宏,请执行
@q
或者将以下内容添加到.vimrc
文件
<强>更新强>
要插入字符串binding.pry
,映射将变为:
map ,p obinding.pry<ESC>
答案 1 :(得分:10)
最简单的是从插入模式触发的缩写:
:ia debug <CR>binding.pry
现在,当您输入debug
时,文本binding.pry
会插入新行。
答案 2 :(得分:4)
基于Fredrik's idea,您可以在.vimrc
中定义并存储宏,例如g
:
let @g = "Obinding.pry^["
请注意,type the escape character到 CTRL-V 然后 ESC 。
然后,您可以执行@g
来执行宏。
一般情况下,如果要保存宏,一种简单的方法是记录宏,比如在注册q
中,然后执行"qp
(其中q
是宏name)粘贴宏。然后用
let @x = "..."
其中x
是您希望它始终拥有的宏名称,并将其放在.vimrc
文件中。
答案 3 :(得分:3)
另一个映射将是:
nnoremap <silent> gb :let a='binding.pry'\|put=a<cr>
答案 4 :(得分:1)
我发现自己陷入了极大的困境。为了解决这个问题,我将以下映射放在我的.vimrc中:
imap <C-b> binding.pry
nnoremap <leader>bp O<% binding.pry %><esc>
第一个允许我在插入模式下使用插入binding.pry。
第二个让我使用我的领导者+ bp将binding.pry放在当前行之上。
答案 5 :(得分:0)
您可以使用以下按键来为此目的定义快捷方式
说明
现在,在普通模式下,击键 (一个接一个)将在当前行下的新行中插入“ binding.pry”。
第3步的解释: nnoremap是用于映射击键以执行某些操作的命令。 “ bi”是按键组合。您可以根据需要进行调整。其余的是在VIM上的常规编辑序列: