Горячие клавиши Vim для конкретного файла

Можно ли установить горячую клавишу для определенных типов файлов в vim.

Например, если я редактирую файл .java, я бы хотел, чтобы vim запускал javac .java, когда я нажимаю 5.

  • Горячая клавиша для «Этот ПК»
  • Как отключить горячие клавиши ориентации экрана в Windows (XP)?
  • Отключить сочетание клавиш Alt + Arrow
  • Как можно отключить Win + P в Windows 7?
  • Как быстро включить и отключить Aero в Windows 7?
  • Как разобрать текст справа налево в Блокноте?
  • Это возможно?

  • Реклама внезапно появляется поверх почти каждой страницы
  • Откройте прямой файл на жестком диске из Firefox (файл: ///)
  • Как отключить горячие клавиши ориентации экрана в Windows (XP)?
  • Как использовать локальную страницу html в качестве рабочего стола / фона
  • Различные цвета фона для нескольких типов файлов в vim
  • Как сохранить веб-страницу в Firefox - сохраненная версия снова отображает «просмотр предыдущих комментариев»
  • 3 Solutions collect form web for “Горячие клавиши Vim для конкретного файла”

    ~ / .vimrc

    autocmd FileType java map <F5> :! javac %<cr> 

    Подробнее о сопоставлении клавиш и внешних командах .

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

    Вероятно, вам нужен плагин filetype (ftplugin) для .java-файлов:

    Плагин filetype похож на глобальный плагин, за исключением того, что он устанавливает параметры и определяет сопоставления только для текущего буфера. См. | Add-filetype-plugin | Как используется этот тип плагина.

    И используйте его с помощью клавиши mapleader + hotkey:

    Чтобы определить отображение, использующее переменную «mapleader», можно использовать специальную строку «». Он заменяется строковым значением «mapleader». Если «mapleader» не установлен или пуст, вместо этого используется обратная косая черта. … Чтобы определить отображение, использующее переменную «mapleader», можно использовать специальную строку «». Он заменяется строковым значением «mapleader». Если «mapleader» не установлен или пуст, вместо этого используется обратная косая черта.

    Вы можете посмотреть сценарии Vim JDE или это руководство по настройке Vi (m) для разработки Java. На этой странице есть информация об использовании javac в Vim.

    (Я не понимаю точку дихотомии между SO и SU для таких вопросов … Во всяком случае 🙂 На ваш вопрос уже был дан ответ, через несколько дней, на SO: ftplugins + локальные сопоставления / сокращения / команды – это способ идти.

    Что касается вызова javac, просто используйте% <, чтобы получить имя файла без расширения. Таким образом, первое правильное отображение:

     :nnoremap <buffer> <f5> :!javac %<<cr> 

    Но предпочитайте вместо этого полагаться на режим fastfix с:

     :setlocal makeprg=javac\ $* :nnoremap <buffer> <f5> :make %<<cr> 
    Давайте будем гением компьютера.