Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何<;c-r>;=在vim中工作_Vim - Fatal编程技术网

如何<;c-r>;=在vim中工作

如何<;c-r>;=在vim中工作,vim,Vim,在vimrc中添加代码 "E488: Trailing characters: <c-r>=12+34<cr>" “E488:尾随字符:=12+34” 总是出现 <c-r>=12+34<cr> =12+34 那里发生了什么事 我的原始代码: function! CleverTab() if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$' return "\<

在vimrc中添加代码

"E488: Trailing characters: <c-r>=12+34<cr>" 
“E488:尾随字符:=12+34”
总是出现

<c-r>=12+34<cr>
=12+34
那里发生了什么事

我的原始代码:

function! CleverTab()
    if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
        return "\<Tab>"
    endif
    if pumvisible()
        return "\<C-N>"
    endif
    let s:codecompl = CodeComplete()
    "<c-r>=s:codecompl<cr>
    <c-r>=12+34<cr>
    "exec " " .s:codecompl. "\<enter>"."."
    "if g:swith_region_flag == 1
    "    return SwitchRegion()
    "else return s:codecompl
    return ''
endfunction
函数!克利夫塔布()
如果strpart(getline('.'),0,col('.')-1)=~'^\s*$'
返回“\”
恩迪夫
如果可见()
返回“\”
恩迪夫
设s:codecompl=CodeComplete()
“=s:codecompl
=12+34
“exec”“.s:codecompl。"\"."."
“如果g:swith_region_flag==1
“返回开关区域()
“否则返回s:codecompl
返回“”
端功能
是一个插入模式命令,您不能简单地将其放入执行Ex命令的Vimscript函数中。相反,您必须使用
:normal!i
发出正常模式命令
i
以重新进入插入模式。使用
:execute
以使用
键符号,您将获得:

:execute "normal! i\<c-r>=12+34\<cr>"

你给vimrc添加了什么代码?你想实现什么?谢谢你的回复。实际上,我只是想了解它是如何工作的。例如,如果“某事是真的”“执行上面的命令,否则什么也不做。但是,该错误E448始终会弹出。这很烦人!!!您希望.vimrc中的
=12+34
做什么?这似乎没有任何意义。似乎“=”总是与映射一起工作,那么在没有映射的情况下它是如何工作的呢?实际上,我想做的是,如果某个东西是真的,运行=CodeComplete(),否则做其他事情。真的希望有任何提示。
:return "\<c-r>=12+34\<cr>"