当我在 vim 中按下 : 时,它进入插入模式而不是命令模式?

当我在 vim 中按下 : 时,它进入插入模式而不是命令模式?

我无法通过键入进入命令模式:

更糟糕的是,无论我按什么键,Vim 都会进入插入模式并输入我刚刚输入的单词。例如,我输入j,光标没有向下移动,但 Vim 进入插入模式并在屏幕上输入字母 j,这非常奇怪。


我重新安装了 Vim,但没有什么变化

现在,由于我无法进入命令模式,我无法输入:wq以保存对 vimrc 文件的任何更改。

如果是 vimrc 设置错误导致的问题,我不知道该如何解决。如果不是,问题的原因是什么?


.vimrc

set nocompatible
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
Plugin 'tmhedberg/SimpylFold'
Plugin 'vim-scripts/indentpython.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'scrooloose/syntastic'
Plugin 'nvie/vim-flake8'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'}
"color scheme
Plugin 'altercation/vim-colors-solarized'
" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
""""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"let nerdtree ignore .pyc file
let NERDTreeIgnore=['\.pyc$', '\~$'] 
" change mapleader to ,
:let mapleader = "\<Space>"

" Enable folding
set foldmethod=indent
set foldlevel=99

" watch the text content in the folding block
let g:SimpylFold_docstring_preview=1

" set python file indent type
au BufNewFile,BufRead *.py
\ set tabstop=4
\ set softtabstop=4
\ set shiftwidth=4
\ set textwidth=79
\ set expandtab
\ set autoindent
\ set fileformat=unix

""""for the fullstack developer
au BufNewFile,BufRead *.js, *.html, *.css
\ set tabstop=2
\ set softtabstop=2
\ set shiftwidth=2

" make the additional whitespace show as the red
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/

"set encoding method 
set encoding=utf-8

"make the code more beautiful
let python_highlight_all=1
syntax on

"let vim visit the system clipboard
set clipboard=unnamed

"for the direction button goes wrong
set term=builtin_ansi
let g:spf13_no_omni_complete=1
inoremap <ESC>oA <ESC>ki
inoremap <ESC>oB <ESC>ji
inoremap <ESC>oC <ESC>li
inoremap <ESC>oD <ESC>hi

"map the G
nnoremap <CR> G

"go to the beginning of the file 
nnoremap <BS> gg

"delete the whole line and enter insert mode
:nnoremap <leader>d ddO

"fast edit and source the vimrc file
:nnoremap <leader>ev :vsplit $MYVIMRC<cr>
:nnoremap <leader>sv :source $MYVIMRC<CR>

"surround the string with "
:nnoremap <leader>' viw<esc>a"<esc>bi"<esc>lel 

"open NERDTree quickly
:nnoremap <leader>n :NERDTree<cr>

"fold the block
:nnoremap <space> za

" short cut to navigate the split window
:nnoremap <C-J> <C-W><C-J>
:nnoremap <C-H> <C-W><C-H>
:nnoremap <C-L> <C-W><C-L>
:nnoremap <C-K> <C-W><C-K>

"copy paste from system + register
:noremap <leader>y "+y
:noremap <leader>p "+p

"zoom in/zoom out window size
:nnoremap <leader>- <C-W>-

"use F9 to run the python file in vim 
nnoremap <buffer> <leader>r :exec '!python' shellescape(@%, 1)<cr>

"go to the definition by ycm
let g:ycm_autoclose_preview_window_after_completion=1
map <leader>g  :YcmCompleter GoToDefinitionElseDeclaration<CR>

"press multiple v select from a character a word to a sentence a block
vmap v <Plug>(expand_region_expand)

"come back to the last selection
vmap <C-v> <Plug>(expand_region_shrink)

"change esc to jk 
:noremap jk <esc>

"disable the esc button 
:inoremap <esc> <nop>

"set <leader>c to take comment
"for .js file
"for .py file 
:autocmd FileType javascript nnoremap <buffer><leader>c I//<esc>
:autocmd FileType python nnoremap <buffer> <leader>c I#<esc>

" change the color of ycm preview window
highlight Pmenu ctermfg=2 ctermbg=3 guifg=#ffffff guibg=#6495ED

"no swap file
set noswapfile

" colorscheme 
set t_Co=256
if has('gui_running')
  set background=dark
  colorscheme solarized
else
  colorscheme zenburn
endif

"let the screen clear when quitting

"modify the window
set modifiable

"clear the window and quit / save quit
:set t_te=^[[H^[2J 

如果我的问题出现.vimrc,在这种情况下我该如何编辑文件并保存编辑?

答案1

由于 ESC 键被禁用,您陷入了插入模式。请从 中删除以下内容.vimrc

"disable the esc button 
:inoremap <esc> <nop>

相关内容