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

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

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

Действительно ли это возможно?

4
задан 20.03.2010, 20:49

3 ответа

~/.vimrc

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

Больше информации об отображении ключа и внешних командах.

8
ответ дан 07.12.2019, 19:10
  • 1
    это возможный удалить расширение файла? так, чтобы я мог сделать как % Java (удалите .java)? – vonhogen 28.09.2009, 11:01
  • 2
    , относительно которых я сомневаюсь так, но можно сделать ярлык на сценарий, который разделит расширение и выполнит javac на результате. виртуальные рабочие столы – Andrejs Cainikovs 28.09.2009, 11:05

(Мне не удается понять точку дихотомии между ТАК и SU для таких вопросов... Так или иначе:) На Ваш вопрос уже ответили, несколько дней спустя, на ТАК: ftplugins + локальные отображения/сокращения/команды являются способом пойти.

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

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

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

:setlocal makeprg=javac\ $*
:nnoremap <buffer> <f5> :make %<<cr>
4
ответ дан 07.12.2019, 19:10

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

Вы, вероятно, хотите плагин типа файла (ftplugin) для .java файлов:

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

И используйте его с mapleader+hotkey:

Для определения отображения, которое использует "mapleader" переменную специальная строка "" может использоваться. Это заменяется строковым значением "mapleader". Если "mapleader" не установлен или не пуст, обратная косая черта используется вместо этого.... Для определения отображения, которое использует "mapleader" переменную специальная строка "" может использоваться. Это заменяется строковым значением "mapleader". Если "mapleader" не установлен или не пуст, обратная косая черта используется вместо этого.

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

3
ответ дан 07.12.2019, 19:10

Теги

Похожие вопросы