Замена функциональных клавиш для vim на Mac?

Я хотел бы знать, какие клавиши (или нажатия клавиш) вы бы использовали для замены функциональных клавиш для сопоставления команд. Я использую vim в macbook pro, и функциональные клавиши используются для некоторых команд системы/рабочего стола/мультимедиа в качестве первого варианта, в то время как доступ к обычной функциональной клавише осуществляется через модификатор Fn. Тем не менее, некоторые клавиши Fn+FX уже предназначены для других системных функций, так что забудьте о них.

Вот мои сопоставления:

  • F1 (по умолчанию: помощь vim)
  • F2 -
  • F3 :make<CR>
  • F4 :make run<CR>
  • F5 :make clean<CR>
  • F6 :make ctags<CR> (создает файл тегов)
  • F7 :cp<CR> (быстрое исправление: показать предыдущую ошибку)
  • F8 :cn<CR> (быстрое исправление: отображать следующую ошибку)
  • F9 :NERDTreeToggle<CR> (проводник файловой системы)
  • F10 :TagbarToggle<CR> (просмотреть теги исходного кода)
  • F11 -
  • F12 -

Больше всего мне не хватает команд F9 и F10.


person freitass    schedule 01.06.2011    source источник


Ответы (2)


В справке Vim есть тема по этому поводу.

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

person jamessan    schedule 01.06.2011
comment
Как я прокомментировал другой ответ, я ожидал, что кто-то придет и скажет, что он / она использует <leader>[a-l] (считайте, что это средний ряд на клавиатуре). Я временно сопоставил \a для 'NERDTreeToggle' и \f для 'Tagbar' - person freitass; 02.06.2011

Вы можете сопоставить любую клавишу (или последовательность клавиш), которую хотите, с f9 или f10. Поместите что-то вроде этого в свой .vimrc:

:noremap gm <F9>

или, может быть:

:noremap gm :NERDTreeToggle<Return>

Если вы сопоставите его с чем-то, что вы также можете использовать в режиме вставки, я думаю, вам нужно сделать для этого отдельное сопоставление:

:noremap <C-T> :NERDTreeToggle<Return>
:inoramap <C-T> <ESC>:NERDTreeToggle<Return>
:vnoramap <C-T> <ESC>:NERDTreeToggle<Return>

Вероятно, вы можете просто сопоставить с <F9>, но я поставил это далеко, потому что у меня нет сопоставления F9.

person JasonWoof    schedule 01.06.2011
comment
:noremap gm <F9>: это сопоставит gm с <F9>, который уже сопоставлен с sbrubbles, поэтому gm будет сопоставлен с sbrubbles? Это правильно? - person freitass; 01.06.2011
comment
ааа, спасибо .. документация vim не очень ясна в отношении этой команды. Хотя я хотел бы больше узнать о замене ключей и меньше о том, как их сопоставить. - person freitass; 01.06.2011
comment
например, можно было бы сказать мне использовать ,tag для переключения окна панели тегов. Я просто ищу некоторые идеи, может быть, кто-то предложит набор нажатий клавиш, о которых я не думал, которые так же просты, как и функциональные клавиши. - person freitass; 02.06.2011
comment
@freitass: используйте любые сопоставления, которые имеют для вас смысл и которые вам легко запомнить. - person jamessan; 02.06.2011