Переназначение Ctrl-l в vim работает в моих личных настройках, но не в моих рабочих настройках. Как мне заставить это работать в моей рабочей среде?

#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’.

В этом случае было более позднее сопоставление. Переназначение моей настройки заставило все работать так, как ожидалось.