为什么光标不在同一个地方?

时间:2012-12-12 13:06:46

标签: function vim map cursor

我有一个非常奇怪的问题,在整个上午尝试后我都无法解决。

这是我的功能和映射:

nnoremap ,zz :call SwapAW("2-2","5")<CR>
nnoremap ,zc :call SwapAW("2-2","5")<CR> 


function! SwapAW(keyw,number)
  let li = line('.')
  let co = col('.')  

 exe "call cursor(li,co)" 
 let linew= line('.')
 let conew= col('.')
 echo linew conew
endfunction

,zc - &gt;将光标移动到右侧
,zz - &gt;光标停留在

的位置

我更改了所有内容,但无法找出光标在两种情况下都不会停留的原因 我改变了p.e.映射,from,zc to,zd和zz to,zw(尝试其他人)并将leaderkey从,更改为\,并尝试交换两个映射行。 没有什么变化。 发生了什么? 我错了什么?

提前致谢。

1 个答案:

答案 0 :(得分:4)

<Space>映射中有,zc个字符后跟<CR>之后。 在函数调用后移动光标。

使用映射时,必须注意隐藏的字符。因此,当您确实需要包含特殊形式<Space>时,建议(有时候,例如在映射的开头,必要时)来编写特殊形式{{1}}。


我的ShowTrailingWhitespace plugin会突出显示那些尾随空格和标签,因为许多代码指南都会对它们不屑一顾。插件页面还包含替代品的链接。