我的Vim(8.0)以命令模式启动,并带有值:2R
。
我将我的vimrc保存在git repo中,因此我检查了之前的提交,直到找到停止奇怪行为的点。最后一个正常提交和第一个出现错误的提交之间的git差异简单地是:
diff --git a/.vim/common.vim b/.vim/common.vim
index a5b2443..bb209c3 100644
--- a/.vim/common.vim
+++ b/.vim/common.vim
@@ -13,27 +13,28 @@ noremap ( zz
nnoremap Y y$
" Find my way around inside text objects
-map [[ "_yaB
-map ]] "_yaB%
-map [b "_yab
-map ]b "_yab%
-map [d "_ya]
-map ]d "_ya]%
+noremap [[ "_yaB
+noremap ]] "_yaB%
+noremap [b "_yab
+noremap ]b "_yab%
+noremap [d "_ya]
+noremap ]d "_ya]%
-map [s (
-map }s )
+noremap [s (
+noremap ]s )
" Various C-macros
-nmap <C-n> nzz
-nmap <C-a> W50i <Esc>B50ldwBj
-nmap <C-u> ElldwBj
-nmap <C-f> }?function<Enter>{jVN/{<Enter>%
+nnoremap <C-n> nzz
+nnoremap <C-a> W50i <Esc>B50ldwBj
+nnoremap <C-u> ElldwBj
+nnoremap <C-f> }?function<Enter>{jVN/{<Enter>%
nnoremap <C-c> mwA;<Esc>`w
nnoremap <C-o> mwO<Esc>0Dj`w
nnoremap <C-.> mwo<Esc>0Dk`w
" Give it back
-nnoremap <C-p> <C-o>
+nnoremap <C-[> <C-o>
+nnoremap <C-]> <C-p>
" for search highlighting
set hlsearch
这个改变究竟是如何引起这种行为的呢?
相关问题:启动后vim命令行中出现奇怪符号表明这是一个配置错误的
TERM
环境变量,但我肯定没有手动更改它,并且对比两个提交的env
输出,没有任何差异。
编辑:我追踪回到了那一行。nnoremap <C-[> <C-o>
这可能是个问题,因为我正在重新映射 Esc 键。我感到很困窘,没有考虑到这一点。
我仍然想知道这如何在我看到的行为中表现出来,所以欢迎任何解释。
:2R
的问题才会发生在我身上。但是,映射<esc>
导致奇怪的箭头行为。详情请参考:https://dev59.com/zmct5IYBdhLWcg3wn-1z。 - M Imam Pratama