vim сопоставление карты между vimrc и плагином

62
6

Я использую jedi-vim. Он определяет ключевую карту <Leader>n как некоторые команды, в то время как я также определяю ее в файле.vimrc, как показано ниже.

nnoremap <Leader>n <C-w><C-w>

Но когда я набрал <Leader>n в файле python, была выполнена команда jedi#usages().

:map <Leader>n возвращает:

n  <Space>n    *@:call jedi#usages()<CR>
n <Space>n * <C-W><C-W>

Я также попытался отменить <Leader>n прежде чем я определил карту. Однако он поднял ошибку, говоря, что ничего не было определено.

Как избежать этого конфликта?

Я знаю, проблема будет исправлена, когда я определяю g:jedi#usages_command другой команде. Я хотел бы знать, как избежать дублирования отображения.

спросил(а) 2015-11-17T10:01:00+03:00 5 лет, 5 месяцев назад
1
Решение
97

Я знаю, проблема будет исправлена, когда я определяю g:jedi#usages_command другой команде. Я хотел бы знать, как избежать дублирования отображения.

Определение g:jedi#usages_command - это "способ избежать дублирования отображения".

Сопоставления плагинов всегда имеют приоритет над вашими, потому что они определяют их отображения после того, как вы определили свои.

На уровне сценария есть решения, например, использование <unique>, или проверка того, что сопоставление уже существует, или просто не определение какого-либо сопоставления на уровне пользователя... но это ответственность разработчика, а не вашего.

--- редактировать ---

Чтобы расширить христианский комментарий... последнее отображение всегда выигрывает, что он работает, и ничто не может быть сделано пользователем для защиты его сопоставлений.

Однако разработчики плагинов располагают несколькими механизмами для предотвращения их плагинов для перезаписи пользовательских сопоставлений и пользовательских настроек, поэтому небезосновательно ожидать, что они будут использовать эти механизмы для соответствия вашим сопоставлениям.

ответил(а) 2015-11-17T11:24:00+03:00 5 лет, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема