#vim #vim-plugin
#vim #vim-плагин
Вопрос:
В моих личных файлах конфигурации у меня есть следующее сопоставление:
nnoremap <silent> <C-l> :nohlsearch<CR><C-l>
Смотрите фактическое содержимое здесь.
Эта настройка отлично работает в моей личной настройке, но не в моей рабочей среде. Мои личные системы имеют версию 8.0 , но мои рабочие системы имеют версию 7.4. Я не могу показать свою рабочую среду, но это копия файла со всеми удаленными ненужными сопоставлениями. Другие сопоставления работают нормально.
Я почерпнул эту идею из предыдущего вопроса StackOverflow, и прошло как минимум 6 лет, поэтому я не думаю, что это проблема с версией. Но я не могу придумать, что еще это может быть.
Как я могу отследить это и исправить?
Комментарии:
1. что
:map <c-l>
выводит?2. Ну, это смущает. ‘:map <c-l>’ показывает другое отображение. Копаясь в файлах конфигурации, я нашел сопоставление коллеги с <c-l> в файле, который обрабатывается позже. Мне даже не приходило в голову проверить это, потому что большинство моих коллег используют vi и не используют ничего из «навороченных» вещей. Изменение сопоставления на <c-m> работает. Теперь мне просто нужно тренировать свои мышцы.
3. Я предполагаю, что это сопоставление не в файле личной конфигурации ваших коллег, а в каком-то плагине? вы могли бы перезаписать его в своем
vimrc
с помощьюautocmd
или в каталоге after (см.:h after
)4. К сожалению, моя рабочая среда использует общую учетную запись для целей разработки. Я не знаю способа настройки разных файлов конфигурации для одного и того же пользователя, который не требует болезненных искажений.
5. ну, вы могли бы запустить vim со своим собственным,
vimrc
с-u
параметром:vim -u myowncoolvimrcwithoutdumbmappingsfrommycoworker
. Также, конечно, тогда вам просто нужно определить псевдоним для этой команды, чтобы вы могли использоватьharleyvimson
или что-то подобное для вашей собственной конфигурации
Ответ №1:
У моей проблемы был другой источник, но конечный эффект был тот же. Я не мог перемещаться между вкладками моего vim, когда у меня был открыт список файлов на вкладке, я сопоставил ctrl h для перемещения левой вкладки и ctrl l для перемещения правой вкладки, это было потому, что по умолчанию при открытии файлового браузера ctrl l было переназначено на n <C-L> @<Plug>NetrwRefresh
.
После того, как я выяснил, в чем проблема, я обнаружил это:
https://github.com/christoomey/vim-tmux-navigator/issues/189
После модификации vimrc, чтобы он выглядел следующим образом:
nmap <C-h> :tabprev<CR>
nmap <C-l> :tabnext<CR>
nmap cw :tabnew<CR>
augroup netrw_mapping
autocmd!
autocmd filetype netrw call NetrwMapping()
augroup END
function! NetrwMapping()
nnoremap <buffer> <C-l> :tabnext<CR>
endfunction
Это было исправлено.
Ответ №2:
При возникновении подобных проблем первое, что вы должны сделать, это проверить вывод ‘:map’.
В этом случае было более позднее сопоставление. Переназначение моей настройки заставило все работать так, как ожидалось.