我正在创建一个能够:
的功能到目前为止,除了触发snipmate之外我还能正常工作。我想做的是插入一个<Tab>
字符,就像我在插入模式下触发snipmate一样开始
" Only works for modules and models right now
function! MakeTest()
" sub out any prefix
let base_test_path = substitute(expand('%:r'), '\(lib/\|app/models/\)', '', 'g')
execute 'edit ' . 'test/unit/' . base_test_path . '_test.rb'
norm i test<Tab>
endfunction
相反,它实际上映射到test<Tab>
到我的模板中。我的猜测是我不想使用norm
来做这件事,但我不太热衷于我应该使用的东西。
有什么想法吗?
有没有办法从函数进入插入模式?
答案 0 :(得分:1)
:normal
后的所有内容都按字面意思对待;要插入特殊字符,您需要使用双引号和:execute
来评估它们:
execute "norm i test\<Tab>"
对于Tab键,您可以选择写"\t"
; :help key-notation
是更常见和更普遍的。{/ p>