我无法通过键入进入命令模式:
。
更糟糕的是,无论我按什么键,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>