Я использую Mac-ориентированные vimfiles с Linux. В этой конфигурации интенсивно используется модификатор D
(клавиша Cmd на Mac). Я не хочу менять каждый D
на M
, но я хочу переназначить D
на что-то вроде Meta
или Alt
. Является ли это возможным?
1 ответ
D
- это ключ «Apple /Cmd». Единственная версия Vim, которая понимает его, - это MacVim и только в его графическом воплощении: D
- это просто несуществующий ключ для CLI Vim в любом эмуляторе терминала и GVim на любой платформе.
Непосредственным следствием является то, что вам на самом деле нужно заменить / продублировать все <D-
отображения в вашей конфигурации, если вы хотите, чтобы он был переносимым между средами.
Еще один более мягкий способ решения этой проблемы - ветвь вашего ~/.vimrc
. Вот как я это делаю, могут быть и лучшие способы:
let os=substitute(system('uname'), '\n', '', '')
if has('gui_running')
if os == 'Darwin' || os == 'Mac'
" GUI-only stuff for Mac OS X
elseif os == 'Linux'
" GUI-only stuff for Linux
endif
else
if os == 'Darwin' || os == 'Mac'
" CLI-only stuff for Mac OS X
elseif os == 'Linux'
" CLI-only stuff for Linux
endif
endif
Принимая во внимание ненужный беспорядок, введенный путем разделения честного ~/.vimrc
на множество vimrc.after
и plugin_name.vim
, я позволю вам найти правильное местоположение для этого блока кода самостоятельно.
Повсеместное распространение Vim является сильным плюсом: использование и поддержание отображений, специфичных для платформы, нецелесообразно и непродуктивно. Я настоятельно рекомендую вам выбрать лучшую, более переносимую стратегию для ваших пользовательских сопоставлений: используйте клавишу "Управление" или, что еще лучше, клавишу « <leader>
. Смотрите :h mapleader
.
Кроме того, использование чужого конфига - очень плохая идея. Вы должны отбросить этот "пакет" и позаботиться о своей конфигурации самостоятельно.