0

これは本当に奇妙な問題で、私は頭がおかしくなりました。ある時点で、.vimrc ファイルに次のような行がありました。

nnoremap <tab> gg=G''

ファイル全体を再インデントするために使用しました。時間が経ち、% のようなタブを使用して、開始/終了タグ/括弧/などの間を移動することにしました。したがって、上記の行を削除し、コマンドを 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..
4

1 に答える 1

4

<c-i><tab>キーコードが共通なので、区別がつきません。

とは異なるマッピングを使用し<c-i>ます。リーダーを使用することをお勧めします。nnoremap <leader>i gg=G''

詳細については、次を参照してください。

:h keycodes
:h mapleader
于 2013-07-18T17:14:51.223 に答える