Vim 在键盘快捷键上插入预定义文本
调试ruby文件时,我经常插入Vim 在键盘快捷键上插入预定义文本,vim,Vim,调试ruby文件时,我经常插入binding.pry。当我使用Vim时,我希望将其自动化,以避免每次都重新键入它。我怎么做呢 我想映射的确切顺序是: 插入新行 插入绑定。撬动新创建的行 返回正常模式 编辑:绑定。pry是我要粘贴的文本,而不是文件 插入前: a = 1 b = 2 插入后: a = 1 binding.pry b = 2 录制宏(未测试) 要执行宏,请执行以下操作: @q 或者将以下内容添加到.vimrc文件中 更新 要插入字符串binding.pry,映射将变为: map
binding.pry
。当我使用Vim时,我希望将其自动化,以避免每次都重新键入它。我怎么做呢
我想映射的确切顺序是:
绑定。pry
是我要粘贴的文本,而不是文件
插入前:
a = 1
b = 2
插入后:
a = 1
binding.pry
b = 2
录制宏(未测试)
要执行宏,请执行以下操作:
@q
或者将以下内容添加到.vimrc
文件中
更新
要插入字符串binding.pry
,映射将变为:
map ,p obinding.pry<ESC>
map,p obinding.pry
基于,您可以在.vimrc
中定义并存储宏,例如g
:
let @g = "Obinding.pry^["
请注意,按CTRL-V键,然后按ESC键
然后可以执行@g
来执行宏
通常,如果要保存宏,一种简单的方法是记录宏,例如在寄存器
q
中,然后执行“qp
(其中q
是宏名称)粘贴宏。然后用
let @x = "..."
其中,x
是您希望它始终具有的宏名称,并将其放入.vimrc
文件中。是从插入模式触发的缩写:
:ia debug <CR>binding.pry
:ia debug binding.pry
现在,当您键入debug
时,文本binding.pry
将插入新行
文档:
:帮助缩写
另一种映射方法是:
nnoremap <silent> gb :let a='binding.pry'\|put=a<cr>
nnoremap gb:let a='binding.pry'\\ put=a
我发现自己陷入了一个巨大的困境。为了解决这个问题,我在.vimrc中放置了以下映射:
imap <C-b> binding.pry
nnoremap <leader>bp O<% binding.pry %><esc>
imap binding.pry
nnoremap bp O
第一个允许我在已处于插入模式时使用插入binding.pry
第二个命令允许我使用我的leader+bp在当前行上方放置binding.pry。您可以使用以下按键来定义用于此目的的快捷方式
- o-切换到当前线路下的插入模式
- binding.pry-将要写入的文本
- -按escape以离开插入模式
binding.pry
?正如我在评论中所写的那样,这是一个文本“binding.pry”,而不是文件的内容。谢谢!一条注释:binding.pry
不是一个文件,而是我想粘贴的字符串。这应该更简单,对吗?@mrzasa,跳过esc
和:r…
步骤,用绑定替换。如果我想添加obinding.pry
@FredrikPihl,有关更多信息,请参阅转义字符,这对我来说很有效:在Vim插入模式中,点击ctrl+q
然后ESC
这是我正在使用的:let@b=“obinding.pry^[0”
使用小写字母“o”插入当前行下方。使用0(零)转到行的开头。您需要进入插入模式并键入一些单词,所以这不是最简单的。
imap <C-b> binding.pry
nnoremap <leader>bp O<% binding.pry %><esc>