6

Я хочу иметь возможность переключать буферы (: BN! /: бп!) в MacVim, используя ярлыки, такие как

Alt (опция) - левая клавиша со стрелкой / правая клавиша со стрелкой

До сих пор я не мог этого сделать.

Вот мое сопоставление для ключей, которое прекрасно работает в Linux, но не в MacOS:

map <M-Right> :bn!<CR>
map <M-Left> :bp!<CR>

2 ответа2

8

Файлы инициализации Vim обрабатываются в следующем порядке (упрощено; см . :help initialization):

  1. $VIM/vimrc
  2. $HOME/.vimrc
  3. $VIM/gvimrc
  4. $HOME/.gvimrc

Проблема заключается в том, что MacVim отображает M-Right и M-Left (и несколько других комбинаций клавиш) в своем $VIM/gvimrc (то есть …/MacVim.app/Contents/Resources/vim/gvimrc); это заменит все сопоставления, которые вы сделали с этими комбинациями клавиш в $HOME/.vimrc .

Если вы изучите этот файл запуска (то есть :view $VIM/gvimrc), вы обнаружите, что эти конкретные сопоставления можно запретить, установив специальную переменную macvim_skip_cmd_opt_movement (в любое значение) в вашем $HOME/.vimrc .

let macvim_skip_cmd_opt_movement = 1

Это запретит десять отображений MacVim по умолчанию (команда и опция для каждого из Left, Right, Up, Down и BS).

В качестве альтернативы, вы можете просто поместить ваши отображения в ваш $HOME/.gvimrc (где они будут переопределять стандартные отображения MacVim, даже если вы не блокировали их с помощью macvim_skip_cmd_opt_movement).

3

Попробуйте добавить это в ваш файл .vimrc:

" Set left and right option/alt keys to be meta keys
set macmeta

Затем попробуйте эти сопоставления снова и посмотрите, работают ли они. Если вы хотите отменить это, просто сделайте :set nomacmeta .

Если вы также используете этот файл .vimrc на компьютерах без MacVim, используйте вместо этого:

" Set left and right option/alt keys to be meta keys
if has("gui_macvim")
    set macmeta
endif

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .