Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 在不触发autocmds的情况下插入模式Ctrl-O_Vim - Fatal编程技术网

Vim 在不触发autocmds的情况下插入模式Ctrl-O

Vim 在不触发autocmds的情况下插入模式Ctrl-O,vim,Vim,从默认状态线到定制状态线,再经过neatstatus、电力线、航空公司,再回到定制状态线,其中一个奇特的功能是根据模式设置彩色状态线。所以,两个AutoCMD可以触发InsertEnter和InsertLeave上的颜色变化,一切都很好,很快,有视觉颜色提示,几乎都在里面 set statusline=%-22.(%5l\ of\ %5L,%4c:%4v%)\ %P\ %6o\ %03b\ %<%F\ %y\ %h%m%r%=b:%2n\ %{strftime('%a\ %b\ %e\ %

从默认状态线到定制状态线,再经过neatstatus、电力线、航空公司,再回到定制状态线,其中一个奇特的功能是根据模式设置彩色状态线。所以,两个AutoCMD可以触发InsertEnter和InsertLeave上的颜色变化,一切都很好,很快,有视觉颜色提示,几乎都在里面

set statusline=%-22.(%5l\ of\ %5L,%4c:%4v%)\ %P\ %6o\ %03b\ %<%F\ %y\ %h%m%r%=b:%2n\ %{strftime('%a\ %b\ %e\ %I:%M\ %p')}

set statusline=%-22.(\%5l\of\%5l,%4c:%4v%)\%P\%6o\%03b\%P>我只想到了一种非常简单的方法

inoremap <Up> <C-c>gka
inoremap <Down> <C-c>gja
inoremap <Up> <C-c>gka
inoremap <Down> <C-c>gja
function! IgnoreOn( motion )
    set eventignore+=InsertLeave,InsertEnter
    return "\<C-o>" . a:motion
endfunction
function! IgnoreOff()
    set eventignore-=InsertLeave,InsertEnter
    return "\<Left>\<Right>" | " Workaround for missing screen update.
endfunction
inoremap <expr> <SID>IgnoreOff IgnoreOff()
inoremap <expr> <SID>IgnoredDown IgnoreOn('gj')
inoremap <script> <Down> <SID>IgnoredDown<SID>IgnoreOff
inoremap <expr> <SID>IgnoredUp IgnoreOn('gk')
inoremap <script> <Up> <SID>IgnoredUp<SID>IgnoreOff