vim - 如何阻止此错误:插入单个字符函数 - put vs p

vim - how to stop this bug: insert single char func - put vs p

我希望能够轻松地从正常模式插入单个字符,并在我这样做时清理为此目的添加的一些映射。我的 vimrc 现在有这个:

 "insert single char from normal mode
function! InsertSingleChar()
    "jump into insert mode and place character after the cursor
   let l:char = getchar()
   if l:char != 0 
     silent! exec "normal a" . nr2char(l:char)
   endif
 endfunction    

但是输入p的唯一方法是等待它超时然后输入,或者改为输入。

我用下面的地图来称呼它:

nnoremap <leader>j :call InsertSingleChar()<cr>

我该如何解决?赞赏。

我有一个映射但忘记了它,当我搜索以确保我输入错误并错过它时。对不起大家!感谢帮助

如果我没理解错的话,你只是插入p有问题;其他字母工作正常。

这听起来像是您有 Vim 首选的 jp 映射,因此您必须键入 j(超时)p 以应用您的映射p 的值,而不是触发 jp 映射。

您可以通过

查看
:verbose nmap jp

然后可能必须重新映射那个字符以使用第二个不可打印的字符,例如j<C-P> 相反。