2014-01-12 3 views
1

특히 e, w 및 b와 같은 이동 명령 이후에 단어를 대체하는 일부 vim 명령에 문제가 있습니다. 예를 따옴표 안에 텍스트를 변경하는CW 명령을 사용한 Vim 지연

특히,하지 CI에 대해 "이 항상 CW에 대한 지연이지만.

둘째, 내가 세 단어 앞으로 이동 및 유형의 CW는 기다리지 않고 세 번째 단어를 변경하는 경우 조금, 앞으로 다른 단어를 움직이면 그 중 하나가됩니다.

저는 Vimrc에서 많은 부분을 잘라 냈습니다. 문제의 원인을 알려주지 못했습니다. viw, c를 누르면 단어가 빨리 바뀌고 나에게 의미가 없습니다. 문제에 대한 통찰력은 환상적 일 것입니다.

또한 이것은 ystem에 종속적인데 세 가지 다른 컴퓨터에서 일관되고 구문/파일 형식에 따라 다릅니다.

autocmd! 
set nocompatible                             
filetype off 

set rtp+=$HOME/.local/lib/python2.7/site-packages/powerline/bindings/vim 
set rtp+=~/.vim/bundle/vundle/ 
call vundle#rc() 

Bundle 'gmarik/vundle' 

Bundle 'nanotech/jellybeans.vim' 
Bundle 'bling/vim-airline' 

Bundle 'kchmck/vim-coffee-script' 

Bundle 'bitc/vim-bad-whitespace' 
Bundle 'scrooloose/nerdtree' 

Bundle 'Lokaltog/vim-easymotion' 

Bundle 'mileszs/ack.vim' 

Bundle 'othree/html5.vim' 

Bundle 'juvenn/mustache.vim' 

Bundle 'yaymukund/vim-rabl' 
Bundle 'int3/vim-extradite' 

Bundle 'tpope/vim-fugitive' 
Bundle 'tpope/vim-haml' 
Bundle 'tpope/vim-repeat' 
Bundle 'tpope/vim-endwise' 
Bundle 'tpope/vim-rails' 
Bundle 'tpope/vim-eunuch' 
Bundle 'tpope/vim-surround' 
Bundle 'tpope/vim-markdown' 

Bundle 'kein/ctrlp.vim' 
Bundle 'wincent/Command-T' 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" BASIC EDITING CONFIGURATION 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
set nocompatible 
" allow unsaved background buffers and remember marks/undo for them 
set hidden 
" remember more commands and search history 
set nu 
set history=10000 
set expandtab 
set tabstop=4 
set shiftwidth=4 
set softtabstop=4 
set autoindent 
set laststatus=2 
set showmatch 
set incsearch 
set hlsearch 
set t_Co=256 
" make searches case-sensitive only if they contain upper-case characters 
set ignorecase smartcase 
" highlight current line 
set cursorline 
set cmdheight=1 
set switchbuf=useopen 
set showtabline=2 
set winwidth=79 
" This makes RVM work inside Vim. I have no idea why. 
set shell=bash 
" Prevent Vim from clobbering the scrollback buffer. See 
" http://www.shallowsky.com/linux/noaltscreen.html 
set t_ti= t_te= 
" keep more context when scrolling off the end of a buffer 
set scrolloff=3 
" Store temporary files in a central spot 
set backup 
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
" allow backspacing over everything in insert mode 
set backspace=indent,eol,start 
" display incomplete commands 
set showcmd 
" Enable highlighting for syntax 
syntax on 
" Enable file type detection. 
" Use the default filetype settings, so that mail gets 'tw' set to 72, 
" 'cindent' is on in C files, etc. 
" Also load indent files, to automatically do language-dependent indenting. 
filetype plugin indent on 
" use emacs-style tab completion when selecting files, etc 
set wildmode=longest,list 
" make tab completion for files/buffers act like bash 
set wildmenu 
let mapleader="," 
" Fix slow O inserts 
:set timeout timeoutlen=1000 ttimeoutlen=100 
" Normally, Vim messes with iskeyword when you open a shell file. This can 
" leak out, polluting other file types even after a 'set ft=' change. This 
" variable prevents the iskeyword change so it can't hurt anyone. 
let g:sh_noisk=1 
" Modelines (comments that set vim options on a per-file basis) 
set modeline 
set modelines=3 
" Turn folding off for real, hopefully 
set foldmethod=manual 
set nofoldenable 

let g:airline_left_sep = '' 
let g:airline_left_alt_sep = '' 
let g:airline_right_sep = '' 
let g:airline_right_alt_sep = '' 
let g:airline_fugitive_prefix = ' ' 
let g:airline_readonly_symbol = '' 
let g:airline_linecolumn_prefix = '' 
let g:airline_theme='badwolf' 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" CUSTOM AUTOCMDS 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
augroup vimrcEx 
    " Clear all autocmds in the group 
    autocmd! 
    autocmd FileType text setlocal textwidth=78 
    " Jump to last cursor position unless it's invalid or in an event handler 
    autocmd BufReadPost * 
    \ if line("'\"") > 0 && line("'\"") <= line("$") | 
    \ exe "normal g`\"" | 
    \ endif 

    "for ruby, autoindent with two spaces, always expand tabs 
    autocmd FileType ruby,haml,eruby,yaml,html,javascript,sass,cucumber set ai sw=2 sts=2 et 
    autocmd FileType python set sw=4 sts=4 et 

    autocmd! BufRead,BufNewFile *.sass setfiletype sass 

    autocmd BufRead *.mkd set ai formatoptions=tcroqn2 comments=n:&gt; 
    autocmd BufRead *.markdown set ai formatoptions=tcroqn2 comments=n:&gt; 

    " Indent p tags 
    " autocmd FileType html,eruby if g:html_indent_tags !~ '\\|p\>' | let g:html_indent_tags .= '\|p\|li\|dt\|dd' | endif 

    " Don't syntax highlight markdown because it's often wrong 
    autocmd! FileType mkd setlocal syn=off 

    " Leave the return key alone when in command line windows, since it's used 
    " to run commands there. 
    autocmd! CmdwinEnter * :unmap <cr> 
    autocmd! CmdwinLeave * :call MapCR() 
augroup END 

" Create the dirs required for a save if they don't exist. 
function s:MkNonExDir(file, buf) 
    if empty(getbufvar(a:buf, '&buftype')) && a:file!~#'\v^\w+\:\/' 
    let dir=fnamemodify(a:file, ':h') 
    if !isdirectory(dir) 
     call mkdir(dir, 'p') 
    endif 
    endif 
endfunction 

augroup BWCCreateDir 
    autocmd! 
    autocmd BufWritePre * :call s:MkNonExDir(expand('<afile>'), +expand('<abuf>')) 
augroup END 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" STATUS LINE 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
:set statusline=%<%f\ (%{&ft})\ %-4(%m%)%=%-19(%3l,%02c%03V%) 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" MISC KEY MAPS 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
map <leader>y "*y 
" Move around splits with <c-hjkl> 
nnoremap <c-j> <c-w>j 
nnoremap <c-k> <c-w>k 
nnoremap <c-h> <c-w>h 
nnoremap <c-l> <c-w>l 
" Insert a hash rocket with <c-l> 
imap <c-l> <space>=><space> 
" Can't be bothered to understand ESC vs <c-c> in insert mode 
imap <c-c> <esc> 
nnoremap <leader><leader> <c-^> 
" Close all other windows, open a vertical split, and open this file's test 
" alternate in it. 
nnoremap <leader>s :call FocusOnFile()<cr> 
function! FocusOnFile() 
    tabnew % 
    normal! v 
    normal! l 
    call OpenTestAlternate() 
    normal! h 
endfunction 
" Reload in chrome 
map <leader>l :w\|:silent !reload-chrome<cr> 
" Align selected lines 
vnoremap <leader>ib :!align<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" MULTIPURPOSE TAB KEY 
" Indent if we're at the beginning of a line. Else, do completion. 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! InsertTabWrapper() 
    let col = col('.') - 1 
    if !col || getline('.')[col - 1] !~ '\k' 
     return "\<tab>" 
    else 
     return "\<c-p>" 
    endif 
endfunction 
inoremap <tab> <c-r>=InsertTabWrapper()<cr> 
inoremap <s-tab> <c-n> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" OPEN FILES IN DIRECTORY OF CURRENT FILE 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
cnoremap %% <C-R>=expand('%:h').'/'<cr> 
map <leader>e :edit %% 
map <leader>v :view %% 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" RENAME CURRENT FILE 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! RenameFile() 
    let old_name = expand('%') 
    let new_name = input('New file name: ', expand('%'), 'file') 
    if new_name != '' && new_name != old_name 
     exec ':saveas ' . new_name 
     exec ':silent !rm ' . old_name 
     redraw! 
    endif 
endfunction 
map <leader>n :call RenameFile()<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" PROMOTE VARIABLE TO RSPEC LET 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! PromoteToLet() 
    :normal! dd 
    " :exec '?^\s*it\>' 
    :normal! P 
    :.s/\(\w\+\) = \(.*\)$/let(:\1) { \2 }/ 
    :normal == 
endfunction 
:command! PromoteToLet :call PromoteToLet() 
:map <leader>p :PromoteToLet<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" EXTRACT VARIABLE (SKETCHY) 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! ExtractVariable() 
    let name = input("Variable name: ") 
    if name == '' 
     return 
    endif 
    " Enter visual mode (not sure why this is needed since we're already in 
    " visual mode anyway) 
    normal! gv 

    " Replace selected text with the variable name 
    exec "normal c" . name 
    " Define the variable on the line above 
    exec "normal! O" . name . " = " 
    " Paste the original selected text to be the variable value 
    normal! $p 
endfunction 
vnoremap <leader>rv :call ExtractVariable()<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" INLINE VARIABLE (SKETCHY) 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! InlineVariable() 
    " Copy the variable under the cursor into the 'a' register 
    :let l:tmp_a = @a 
    :normal "ayiw 
    " Delete variable and equals sign 
    :normal 2daW 
    " Delete the expression into the 'b' register 
    :let l:tmp_b = @b 
    :normal "bd$ 
    " Delete the remnants of the line 
    :normal dd 
    " Go to the end of the previous line so we can start our search for the 
    " usage of the variable to replace. Doing '0' instead of 'k$' doesn't 
    " work; I'm not sure why. 
    normal k$ 
    " Find the next occurence of the variable 
    exec '/\<' . @a . '\>' 
    " Replace that occurence with the text we yanked 
    exec ':.s/\<' . @a . '\>/' . @b 
    :let @a = l:tmp_a 
    :let @b = l:tmp_b 
endfunction 
nnoremap <leader>ri :call InlineVariable()<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" MAPS TO JUMP TO SPECIFIC COMMAND-T TARGETS AND FILES 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
map <leader>gr :topleft :split config/routes.rb<cr> 
function! ShowRoutes() 
    " Requires 'scratch' plugin 
    :topleft 100 :split __Routes__ 
    " Make sure Vim doesn't write __Routes__ as a file 
    :set buftype=nofile 
    " Delete everything 
    :normal 1GdG 
    " Put routes output in buffer 
    :0r! zeus rake -s routes 
    " Size window to number of lines (1 plus rake output length) 
    :exec ":normal " . line("$") . "_ " 
    " Move cursor to bottom 
    :normal 1GG 
    " Delete empty trailing line 
    :normal dd 
endfunction 
map <leader>gR :call ShowRoutes()<cr> 
map <leader>gv :CommandTFlush<cr>\|:CommandT app/views<cr> 
map <leader>gc :CommandTFlush<cr>\|:CommandT app/controllers<cr> 
map <leader>gm :CommandTFlush<cr>\|:CommandT app/models<cr> 
map <leader>gh :CommandTFlush<cr>\|:CommandT app/helpers<cr> 
map <leader>gl :CommandTFlush<cr>\|:CommandT lib<cr> 
map <leader>gp :CommandTFlush<cr>\|:CommandT public<cr> 
map <leader>gs :CommandTFlush<cr>\|:CommandT public/stylesheets<cr> 
map <leader>gf :CommandTFlush<cr>\|:CommandT features<cr> 
map <leader>gg :topleft 100 :split Gemfile<cr> 
map <leader>gt :CommandTFlush<cr>\|:CommandTTag<cr> 
map <leader>f :CommandTFlush<cr>\|:CommandT<cr> 
map <leader>F :CommandTFlush<cr>\|:CommandT %%<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" SWITCH BETWEEN TEST AND PRODUCTION CODE 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! OpenTestAlternate() 
    let new_file = AlternateForCurrentFile() 
    exec ':e ' . new_file 
endfunction 
function! AlternateForCurrentFile() 
    let current_file = expand("%") 
    let new_file = current_file 
    let in_spec = match(current_file, '^spec/') != -1 
    let going_to_spec = !in_spec 
    let in_app = match(current_file, '\<controllers\>') != -1 || match(current_file, '\<models\>') != -1 || match(current_file, '\<views\>') != -1 || match(current_file, '\<helpers\>') != -1 
    if going_to_spec 
    if in_app 
     let new_file = substitute(new_file, '^app/', '', '') 
    end 
    let new_file = substitute(new_file, '\.e\?rb$', '_spec.rb', '') 
    let new_file = 'spec/' . new_file 
    else 
    let new_file = substitute(new_file, '_spec\.rb$', '.rb', '') 
    let new_file = substitute(new_file, '^spec/', '', '') 
    if in_app 
     let new_file = 'app/' . new_file 
    end 
    endif 
    return new_file 
endfunction 
nnoremap <leader>. :call OpenTestAlternate()<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" RUNNING TESTS 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! MapCR() 
    nnoremap <cr> :call RunTestFile()<cr> 
endfunction 
call MapCR() 
nnoremap <leader>T :call RunNearestTest()<cr> 
nnoremap <leader>a :call RunTests('')<cr> 
nnoremap <leader>c :w\|:!script/features<cr> 
nnoremap <leader>w :w\|:!script/features --profile wip<cr> 

function! RunTestFile(...) 
    if a:0 
     let command_suffix = a:1 
    else 
     let command_suffix = "" 
    endif 

    " Run the tests for the previously-marked file. 
    let in_test_file = match(expand("%"), '\(.feature\|_spec.rb\)$') != -1 
    if in_test_file 
     call SetTestFile() 
    elseif !exists("t:grb_test_file") 
     return 
    end 
    call RunTests(t:grb_test_file . command_suffix) 
endfunction 

function! RunNearestTest() 
    let spec_line_number = line('.') 
    call RunTestFile(":" . spec_line_number) 
endfunction 

function! SetTestFile() 
    " Set the spec file that tests will be run for. 
    let t:[email protected]% 
endfunction 

function! RunTests(filename) 
    " Write the file and run tests for the given filename 
    if expand("%") != "" 
     :w 
    end 
    if match(a:filename, '\.feature$') != -1 
     exec ":!script/features " . a:filename 
    else 
     " First choice: project-specific test script 
     if filereadable("script/test") 
      exec ":!script/test " . a:filename 
     " Fall back to the .test-commands pipe if available, assuming someone 
     " is reading the other side and running the commands 
     elseif filewritable(".test-commands") 
      let cmd = 'rspec --color --format progress --require "~/lib/vim_rspec_formatter" --format VimFormatter --out tmp/quickfix' 
      exec ":!echo " . cmd . " " . a:filename . " > .test-commands" 

      " Write an empty string to block until the command completes 
      sleep 100m " milliseconds 
      :!echo > .test-commands 
      redraw! 
     " Fall back to a blocking test run with Bundler 
     elseif filereadable("Gemfile") 
      exec ":!bundle exec rspec --color " . a:filename 
     " Fall back to a normal blocking test run 
     else 
      exec ":!rspec --color " . a:filename 
     end 
    end 
endfunction 


"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" CtrlP Configuration 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$' 
let g:ctrlp_user_command = 'find %s -type f' 
let g:ctrlp_use_caching = 0 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Md5 COMMAND 
" Show the MD5 of the current buffer 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
command! -range Md5 :echo system('echo '.shellescape(join(getline(<line1>, <line2>), '\n')) . '| md5') 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" OpenChangedFiles COMMAND 
" Open a split for each dirty file in git 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! OpenChangedFiles() 
    only " Close all windows, unless they're modified 
    let status = system('git status -s | grep "^ \?\(M\|A\|UU\)" | sed "s/^.\{3\}//"') 
    let filenames = split(status, "\n") 
    exec "edit " . filenames[0] 
    for filename in filenames[1:] 
    exec "sp " . filename 
    endfor 
endfunction 
command! OpenChangedFiles :call OpenChangedFiles() 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" InsertTime COMMAND 
" Insert the current time 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
command! InsertTime :normal a<c-r>=strftime('%F %H:%M:%S.0 %z')<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" FindConditionals COMMAND 
" Start a search for conditional branches, both implicit and explicit 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
command! FindConditionals :normal /\<if\>\|\<unless\>\|\<and\>\|\<or\>\|||\|&&<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Diff tab management: open the current git diff in a tab 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
command! GdiffInTab tabedit %|vsplit|Gdiff 
nnoremap <leader>d :GdiffInTab<cr> 
nnoremap <leader>D :tabclose<cr> 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" RemoveFancyCharacters COMMAND 
" Remove smart quotes, etc. 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
function! RemoveFancyCharacters() 
    let typo = {} 
    let typo["“"] = '"' 
    let typo["”"] = '"' 
    let typo["‘"] = "'" 
    let typo["’"] = "'" 
    let typo["–"] = '--' 
    let typo["—"] = '---' 
    let typo["…"] = '...' 
    :exe ":%s/".join(keys(typo), '\|').'/\=typo[submatch(0)]/ge' 
endfunction 
command! RemoveFancyCharacters :call RemoveFancyCharacters() 

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Selecta Mappings 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Run a given vim command on the results of fuzzy selecting from a given shell 
" command. See usage below. 
function! SelectaCommand(choice_command, selecta_args, vim_command) 
    try 
    silent let selection = system(a:choice_command . " | selecta " . a:selecta_args) 
    catch /Vim:Interrupt/ 
    " Swallow the ^C so that the redraw below happens; otherwise there will be 
    " leftovers from selecta on the screen 
    redraw! 
    return 
    endtry 
    redraw! 
    exec a:vim_command . " " . selection 
endfunction 

" Find all files in all non-dot directories starting in the working directory. 
" Fuzzy select one of those. Open the selected file with :e. 
nnoremap <leader>f :call SelectaCommand("find * -type f", "", ":e")<cr> 

function! SelectaIdentifier() 
    " Yank the word under the cursor into the z register 
    normal "zyiw 
    " Fuzzy match files in the current directory, starting with the word under 
    " the cursor 
    call SelectaCommand("find * -type f", "-s " . @z, ":e") 
endfunction 
nnoremap <c-g> :call SelectaIdentifier()<cr> 


colorscheme jellybeans 
highlight clear SignColumn 

autocmd BufNewFile,BufRead *.mobile.erb let b:eruby_subtype='html' 
autocmd BufNewFile,BufRead *.mobile.erb set filetype=eruby 
autocmd BufNewFile,BufRead .pryrc set filetype=ruby 

map <silent> <C-N> :silent noh<CR> 
map <silent> <C-T> :NERDTree <CR> 
map <silent> gb :Gblame<CR> 
map <silent> gc :Gcommit<CR> 
map <silent> gC :Gcommit -a<CR> 
map <silent> gl :gitv<CR> 
map <silent> gs :Gstatus<CR> 
map <silent> ws :EraseBadWhitespace<CR> 

"No arrow keys. :(
inoremap <Up>  <NOP> 
inoremap <Down> <NOP> 
inoremap <Left> <NOP> 
inoremap <Right> <NOP> 
noremap <Up>  <NOP> 
noremap <Down> <NOP> 
noremap <Left> <NOP> 
noremap <Right> <NOP> 
+2

이 문제를 디버깅하려면 VIM을'-u NONE' 옵션 (그리고 gvim을 사용할 경우'-U NONE')으로 실행하십시오. 문제가 지속되면 사용자 설정이 아님을 알 수 있습니다. 그것이 아니라면 당신은 당신의 설정임을 알 수 있습니다. 설정에 문제가있는 경우 이진 검색을 사용하여 문제가있는 곳을 찾아냅니다 (예 : 설정 파일의 절반을 주석으로 처리하고 시도해보십시오. 문제가되는 항목을 찾을 때까지 주석을 달고 주석을 제거하십시오). – verdammelt

+0

-u 아니, 내가 제안한대로 이등분해볼거야. – Senjai

+0

도움이 되었기 때문에 기쁩니다. 이것은 모든 문제를 디버깅하는 유용한 방법입니다. – verdammelt

답변

4

의견을 추가 한 후 vimrc 파일의 맨 아래에 내가 옳았다는 것을 알게되었습니다. 범인은 :map 명령 비주얼 정상, 선택, 운영자중인 모드에 적용 :help map-modes에 따르면

:map <silent> ws :EraseBadWhitespace<CR> 

입니다. c을 입력하면 vim이 운영자 보류 모드로 전환 한 다음 w 만 표시되는지 또는 s을 추가 할 것인지를 기다립니다. 또한

:help 'timeout' 
+0

대단히 감사합니다! 이것은 많은 시간을 절약 해주었습니다. 방금 연결이 끊어지기 시작한 시스템으로 돌아 왔는데 실제로 문제가되었습니다. – Senjai

관련 문제