Я використовую Vim під Debian, Win Vista та WinXP (останні два з Cygwin).
Щоб обробляти вкладки легше, я склав карту <C-Left>
і <C-Right>
на :tab(prev|next)
. Це відображення працює як шарм на машині Debian.
На машинах Windows, однак, натискання <C-Left>
видаляє 5 рядків, наскільки я можу сказати, і перемішується з положенням курсору, в той час як <C-Right>
це теж робиться і додатково переходить у режим Вставка.
Питання: Якщо коротко сказати, як я можу дізнатися, чому Вім поводиться так, як це робить? Чи є спосіб відключити активні команди та натискання клавіш? Чи може бути плагін винуватець? (Я не встановив його, можливо включення за замовчуванням у дистрибутиві Cygwin ...) Якщо так, то як його знайти?
Редагувати 1: Добре, здається, що у мене з'явився перший слід: Термінал надсилає для <C-Left>
" ^[[1;5D
", і для правильного " ^[[1;5C
" (оцінюється за допомогою <C-V><C-Left>
трюку). Якщо vim інтерпретує це буквально і відкидає перших персонажів, це пояснює дивну поведінку. Будь-які ідеї, як я міг змінити це ключове відображення?
Додатковий діагноз:
Така поведінка виникає незалежно від будь-якого наявного
~/.vimrc
файлу (тому не пов’язана з моїми згаданими вище картами) і не успадковується деякими/etc/vim/vimrc
, оскільки цього не існує в установці Cygwin за замовчуванням.:verbose map
не дає ніяких нових ідей. Нічого, або мої згадані відображення не з’являються на основі існування файлу .vimrc:help <C-Left>
припускає, що за замовчуванням буде простий рух курсору, що, мабуть, не так.Версія Vim під Cygwin:
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Feb 11 2010 17:36:58) Included patches: 1-264 Compiled by http://cygwin.com/ Huge version without GUI. Features included (+) or not (-): +arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession +modify_fname +mouse -mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra -perl +postscript +printer +profile -python +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp -xterm_clipboard -xterm_save system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" user exrc file: "$HOME/.exrc" fall-back for $VIM: "/usr/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_FORTIFY_SOURCE=1 Linking: gcc -L/usr/local/lib -o vim.exe -lm -lncurses -liconv
<C-Left>
все ще надсилається^[[1,5C
, але якимось чином переведений на правильний вираз vim.