1

Я использую Mac-ориентированные vimfiles с Linux. В этой конфигурации интенсивно используется модификатор D (клавиша Cmd на Mac). Я не хочу менять каждый D на M , но я хочу переназначить D на что-то вроде Meta или Alt . Является ли это возможным?

1 ответ1

3

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 .

Кроме того, использование чужого конфига - очень плохая идея. Вы должны отбросить этот "пакет" и позаботиться о своей конфигурации самостоятельно.

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