Запрос и действие в ответ в vim

#vim

#vim

Вопрос:

У меня настроен vim для автоматического сохранения пустых файлов при их создании:

  autocmd BufNewFile * :write  
  

И у меня установлен плагин fugitive для git. В fugitive: Gwrite при необходимости добавит текущий файл в git и внесет изменения, которые необходимо зафиксировать.

То, что я хотел бы иметь возможность делать, это то, что делает PHP Storm. Если я добавляю файл, он запрашивает меня и спрашивает, хочу ли я добавить его в git. Итак, в идеале я хотел бы ввести:edit some_new_filename , создать буфер, сохранить файл, а затем запросить, хочу ли я добавить его в git. Если я скажу «да», он должен добавить его, а если я скажу «нет», он не должен.

Я не видел никаких примеров запросов и ответов в vim; поэтому я, честно говоря, даже не знаю, возможно ли это. Так ли это, и если да, не могли бы вы помочь мне с синтаксисом?

Ответ №1:

Вы можете использовать confirm функцию для запроса ответа у пользователя:

 function! PromptToAddTheFileToGit(filename)
    if(confirm("Add ".a:filename." to git","amp;Yesnamp;no")==1)
        "Some code to add the file to git
    end
endfunction
  

Затем вы вызываете эту функцию

Комментарии:

1. Спасибо. Потребовалось довольно много времени, чтобы разработать «некоторый код для добавления файла в git», но после прочтения пары плагинов git я, наконец, понял это.