繁体   English   中英

即使从 .vimrc 中删除,Vim 映射仍然存在

[英]Vim mapping persists even after removal from .vimrc

这是一个非常奇怪的问题,它一直让我发疯。 有一次,在我的 .vimrc 文件中,我有一行如下所示:

nnoremap <tab> gg=G''

我曾经重新缩进我的整个文件。 随着时间的推移,我决定使用像 % 这样的选项卡,在打开/关闭标签/parens/等之间移动。 所以我删除了上面的行,并将命令重新映射到 control-i(如 Eclipse)并将其替换为

nnoremap <tab> %
vnoremap <tab> %

我保存文件,获取它,关闭 vim,重新启动我的计算机,做任何事情,但无论我做什么,按 Tab 键仍然会缩进整个文件。 当我检查映射时

:verbose map <tab>

我得到的输出是:

v  <Tab>       * %
    Last set from ~/.vimrc
n  <Tab>       * gg=G''
    Last set from ~/.vimrc

同样,如果我尝试

:verbose nnoremap <tab>

我得到:

n  <Tab>       * gg=G''
    Last set from ~/.vimrc

我真的不确定这里发生了什么,该映射肯定不再存在。 这是我的 .vimrc:

set nocompatible               " be iMproved
filetype off                   " required!
let mapleader = ","
nnoremap <leader><space> :noh<cr>
nnoremap ; :
nnoremap <leader>v <C-w>v<C-w>l
nnoremap <leader>h <C-w>s<C-w>j
nnoremap <leader>f :CtrlP<CR>
nnoremap <tab> %
vnoremap <tab> %
inoremap jk <ESC>l
nnoremap <C-i> gg=G''
nnoremap <up> <nop>
nnoremap <down> <nop>
nnoremap <left> <nop>
nnoremap <right> <nop>
inoremap <up> <nop>
inoremap <down> <nop>
inoremap <left> <nop>
inoremap <right> <nop>
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
syntax enable
set t_Co=16
set background=dark
set tabstop=2
set shiftwidth=2
set softtabstop=2
set smarttab
set expandtab
set number
set ignorecase
set smartcase
set gdefault
set incsearch
set showmatch
set hlsearch
set nobackup
set noswapfile
set smartindent
set hidden
set wildmenu
set nonumber
set nowrap
set relativenumber
set timeoutlen=100
set backspace=indent,eol,start
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

" let Vundle manage Vundle
" required! 
Bundle 'gmarik/vundle'

" My Bundles here:
"
" original repos on github
Bundle 'tpope/vim-rails.git'
Bundle 'tpope/vim-endwise.git'
Bundle 'tpope/vim-surround.git'
Bundle 'scrooloose/nerdcommenter.git'
Bundle 'scrooloose/syntastic.git'
Bundle 'jiangmiao/auto-pairs.git'
Bundle 'kien/ctrlp.vim'
Bundle 'altercation/vim-colors-solarized.git'
colorscheme solarized
" vim-scripts repos
Bundle 'bufexplorer.zip'
Bundle 'HTML-AutoCloseTag'
Bundle 'matchit.zip'
Bundle 'ruby-matchit'
Bundle 'Rename2'

filetype plugin indent on     " required!
filetype indent on
"
" Brief help
" :BundleList          - list configured bundles
" :BundleInstall(!)    - install(update) bundles
" :BundleSearch(!) foo - search(or refresh cache first) for foo
" :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Bundle command are not allowed..

<ci><tab>共享相同的键码,因此无法相互区分。

使用与<ci>不同的映射。 我建议你使用领导者,例如nnoremap <leader>i gg=G''

如需更多帮助,请参阅:

:h keycodes
:h mapleader

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM