我的.vimrc中有很多这些:
:noremap <F1> :set hls!<CR> :echo "hilight seach (hls) =" &hls<CR>
(只需按一下按钮就可以切换自动注册,行号,忽略等等,这很好。)
但执行这些操作时会出现一种奇怪的行为。光标向右移动一列。如果我在一行的末尾,则光标移动到下一行的开头。为什么要这样做?我该如何预防呢?
这是vim 7.3.429,但我也在7.2.411中看到它。
由于
答案 0 :(得分:4)
问题是<CR>
和:echo
之间的空格。删除它,它应该工作。
:noremap <F1> :set hls!<CR>:echo "hilight seach (hls) =" &hls<CR>
答案 1 :(得分:1)
gpojd是正确的,空间导致你的运动问题。也许您可能对更简单的切换映射感兴趣?
nnoremap <f1> :set hls! hls?<cr>
nnoremap <f2> :set spell! spell?<cr>
nnoremap <f3> :set list! list?<cr>
使用set hls?
会显示'hlsearch'
的当前值。因为:set
可以一次设置多个设置,您可以切换值,然后要求显示当前值。