2011-03-14 98 views
2

我所有其他的键绑定工作正常,但我不能绑定jj由于某种原因转义。搅拌jkkj也不起作用。这是我的整个.vimrc:vim:无法重新绑定转义jj

"Maps for jj to act as Esc 
inoremap jk <Esc> 
inoremap kj <Esc> 
"inoremap jj <Esc> 
ino jj <Esc> 
cno jj <C-c> 

set number 
set nocompatible 
set paste 

    "fix cygwin backspace problem 
set backspace=indent,eol,start 
fixdel 

set autoindent 
set smartindent 
set tabstop=4 
set shiftwidth=4 
    "use spaces instead of \t 
"set expandtab 
set nowrap 

syntax on 
highlight ExtraWhitespace ctermbg=darkgreen guibg=lightgreen 
autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/ 
    "remove trailing whitespace 
    "http://vim.wikia.com/wiki/Remove_unwanted_spaces#Automatically_removing_all_trailing_whitespace 
"autocmd BufWritePre * :%s/\s\+$//e 
autocmd BufWritePre *.c :%s/\s\+$//e 
autocmd BufWritePre *.cpp :%s/\s\+$//e 
autocmd BufWritePre *.c++ :%s/\s\+$//e 
autocmd BufWritePre *.h :%s/\s\+$//e 
autocmd BufWritePre *.java :%s/\s\+$//e 
autocmd BufWritePre *.php :%s/\s\+$//e 

autocmd BufWritePre *.pl :%s/\s\+$//e 
autocmd BufWritePre *.py :%s/\s\+$//e 
"autocmd FileType c,cpp,c++,java,php,pl,py autocmd BufWritePre <buffer> :call setline(1,map(getline(1,"$"),'substitute(v:val, 

    "search options 
set incsearch 
set ignorecase 
set showmatch 

nmap <space> zz 
nmap n nzz 
nmap N Nzz 

    "set arrow keys to move between buffer/tabs 
inoremap <Up> :bprev<CR> 
inoremap <Down> :bnext<CR> 
inoremap <Left> :tabprev<CR> 
inoremap <Right> :tabnext<CR> 
noremap <Up> :bprev<CR> 
noremap <Down> :bnext<CR> 
noremap <Left> :tabprev<CR> 
noremap <Right> :tabnext<CR> 

set vb t_vb= 
set guioptions-=T 

"set foldmethod=indent 
set showtabline=2 

"au BufWinLeave * mkview 
"au BufWinEnter * silent loadview 

对于记录,timeoutlen被设置为默认值1000毫秒。

回答

5

刚刚找到答案研究一个无关的.vimrc问题。使用set paste禁用插入缩写,即使它实际上从未在.vimrc中为我工作过。

+0

“套贴”适用于我;我想知道你是否期待其他一些行为。它只是关闭所有会干扰粘贴(关键宏,自动缩进等)的“智能”。在粘贴之前将其打开,然后关闭。 – geekosaur 2011-03-14 05:29:02

+0

它在我在命令模式下使用'set paste'时有效,但不在.vimrc中。当我从X发布时,格式仍然混乱。 使用'set paste'有副作用,所以我试着用'“+ p'或'”* p'来代替。 – wting 2011-03-14 05:34:58

+0

嗯,是的;你不应该离开它,是我的观点。所以我并不感到奇怪,将其放在'〜/ .vimrc'中会被忽略。 – geekosaur 2011-03-14 05:44:51

0

你想inoremap jj <Esc>,你似乎已经评论。取消注释并评论/删除jj的其他映射。那样有用吗?