<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dan Bradbury</title>
    <description>The latest articles on DEV Community by Dan Bradbury (@danbradbury).</description>
    <link>https://dev.to/danbradbury</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3073408%2Fa8f17ff1-1981-46c7-a4a7-b3868497edc2.jpeg</url>
      <title>DEV Community: Dan Bradbury</title>
      <link>https://dev.to/danbradbury</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/danbradbury"/>
    <language>en</language>
    <item>
      <title>Bringing GitHub Copilot Chat to Vim</title>
      <dc:creator>Dan Bradbury</dc:creator>
      <pubDate>Sun, 27 Apr 2025 07:29:44 +0000</pubDate>
      <link>https://dev.to/danbradbury/bringing-github-copilot-chat-to-vim-3093</link>
      <guid>https://dev.to/danbradbury/bringing-github-copilot-chat-to-vim-3093</guid>
      <description>&lt;p&gt;Hi there! My name is Dan and I wanted to share a plugin that I've been working on to bring Copilot functionality into vim. As someone who doesn't like being forced into VSCode all the time I really wanted to stay in my editor of choice and still be able to interact with Copilot Chat. As a weirdo who prefers &lt;code&gt;gvim&lt;/code&gt;/&lt;code&gt;vim&lt;/code&gt; &amp;gt; &lt;code&gt;nvim&lt;/code&gt; there was no option.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://github.com/DanBradbury/copilot-chat.vim" rel="noopener noreferrer"&gt;copilot-chat.vim&lt;/a&gt; to keep myself out of VSCode / fully transitioning to &lt;code&gt;nvim&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3gi10a2kbzmw1xbprv2x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3gi10a2kbzmw1xbprv2x.png" alt="Image description" width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why &lt;code&gt;copilot-chat.vim&lt;/code&gt;?
&lt;/h2&gt;

&lt;p&gt;Originally I forked tpope/github's copilot.vim repo and added the basic chat ability into that but quickly pivoted to my own plugin after realizing that PRs are closed to the original copilot.vim repo (uses Copilot LSP to to inline code completion). Since the nvim community has a &lt;a href="https://github.com/CopilotC-Nvim/CopilotChat.nvim" rel="noopener noreferrer"&gt;&lt;code&gt;CopilotChat.nvim&lt;/code&gt;&lt;/a&gt; plugin that is already well established my goal is to mirror the functionality of that but written in Vimscript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features (Without the Bloat)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simple Chat Interface:&lt;/strong&gt; No fancy dependencies, just run &lt;code&gt;:CopilotChatOpen&lt;/code&gt; and you're talking to Copilot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Practical Prompt Templates:&lt;/strong&gt; Add &lt;code&gt;&amp;gt; TEMPLATE_NAME&lt;/code&gt; to automatically expand templates anywhere in your prompt:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; explain 
function validateUser() { 
  // code to validate 
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The template expands before sending, saving you from typing the same instructions repeatedly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Chat History:&lt;/strong&gt; &lt;code&gt;:CopilotChatSave&lt;/code&gt; to store your chats as JSON files. &lt;code&gt;:CopilotChatLoad&lt;/code&gt; with fuzzy find for easy lookup and reload.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Model Selection:&lt;/strong&gt; Run &lt;code&gt;:CopilotChatModels&lt;/code&gt; to switch between available AI models.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I'd love to hear from other Vim users about what you'd like to see in this plugin / if you'd like to contribute I'm always accepting help from any other vimscript folks.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>github</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
