<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Neovim Only on Hillel Wayne</title>
    <link>https://www.hillelwayne.com/tags/neovim-only/</link>
    <description>Recent content in Neovim Only on Hillel Wayne</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 19 Aug 2022 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="https://www.hillelwayne.com/tags/neovim-only/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>LoadLocal</title>
      <link>https://www.hillelwayne.com/tipjar/vim-01/</link>
      <pubDate>Fri, 19 Aug 2022 00:00:00 +0000</pubDate>
      
      <guid>https://www.hillelwayne.com/tipjar/vim-01/</guid>
      <description>&lt;p&gt;This one&amp;rsquo;s in Lua because I use Neovim, but it should be directly translatable to VimScript.&lt;/p&gt;

&lt;p&gt;I often need to rerun the same commands in a specific buffer. For example, I might regularly run one command to expand an &lt;a href=&#34;https://buttondown.email/hillelwayne/archive/on-metafiles/&#34;&gt;XML metafile&lt;/a&gt;, and then another to run one of the expanded outputs.&lt;/p&gt;
&lt;div class=&#34;highlight&#34; style=&#34;background: #272822&#34;&gt;&lt;pre style=&#34;line-height: 125%;&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span&gt;&lt;/span&gt;&lt;span style=&#34;color: #66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color: #a6e22e&#34;&gt;LoadLocal&lt;/span&gt;&lt;span style=&#34;color: #f8f8f2&#34;&gt;(local_cmd)&lt;/span&gt;
  &lt;span style=&#34;color: #f8f8f2&#34;&gt;vim.b.local_cmd&lt;/span&gt; &lt;span style=&#34;color: #f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color: #f8f8f2&#34;&gt;local_cmd&lt;/span&gt;
&lt;span style=&#34;color: #66d9ef&#34;&gt;end&lt;/span&gt;

&lt;span style=&#34;color: #66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color: #a6e22e&#34;&gt;RunLocal&lt;/span&gt;&lt;span style=&#34;color: #f8f8f2&#34;&gt;()&lt;/span&gt;
  &lt;span style=&#34;color: #f8f8f2&#34;&gt;vim.cmd(vim.b.local_cmd)&lt;/span&gt;
&lt;span style=&#34;color: #66d9ef&#34;&gt;end&lt;/span&gt;

&lt;span style=&#34;color: #f8f8f2&#34;&gt;vim.cmd&lt;/span&gt; &lt;span style=&#34;color: #e6db74&#34;&gt;[[command! -nargs=1 LoadLocal call v:lua.LoadLocal(&amp;lt;f-args&amp;gt;)]]&lt;/span&gt;
&lt;span style=&#34;color: #f8f8f2&#34;&gt;vim.keymap.set(&lt;/span&gt;&lt;span style=&#34;color: #e6db74&#34;&gt;&amp;#39;n&amp;#39;&lt;/span&gt;&lt;span style=&#34;color: #f8f8f2&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color: #e6db74&#34;&gt;&amp;#39;gxl&amp;#39;&lt;/span&gt;&lt;span style=&#34;color: #f8f8f2&#34;&gt;,&lt;/span&gt; &lt;span style=&#34;color: #f8f8f2&#34;&gt;RunLocal,&lt;/span&gt; &lt;span style=&#34;color: #f8f8f2&#34;&gt;{silent&lt;/span&gt; &lt;span style=&#34;color: #f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color: #66d9ef&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color: #f8f8f2&#34;&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Use it like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34; style=&#34;background: #272822&#34;&gt;&lt;pre style=&#34;line-height: 125%;&#34;&gt;&lt;code class=&#34;language-vim&#34; data-lang=&#34;vim&#34;&gt;&lt;span&gt;&lt;/span&gt;&lt;span style=&#34;color: #f8f8f2&#34;&gt;:&lt;/span&gt;LoadLocal &lt;span style=&#34;color: #f8f8f2&#34;&gt;!&lt;/span&gt;python %
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Then, for that buffer &lt;em&gt;and only that buffer&lt;/em&gt;, typing &lt;code&gt;gxl&lt;/code&gt; will call python on the file.&lt;/p&gt;

&lt;h4 id=&#34;notes&#34;&gt;Notes&lt;/h4&gt;

&lt;p&gt;I have a few different map leaders. The spacebar is my default &lt;code&gt;&amp;lt;leader&amp;gt;&lt;/code&gt; for most mappings, but I also use &lt;code&gt;\&lt;/code&gt; for some navigational commands, &lt;code&gt;gx&lt;/code&gt; for triggering scripts, and &lt;code&gt;;&lt;/code&gt; for insert-mode commands, like&lt;/p&gt;
&lt;div class=&#34;highlight&#34; style=&#34;background: #272822&#34;&gt;&lt;pre style=&#34;line-height: 125%;&#34;&gt;&lt;code class=&#34;language-vim&#34; data-lang=&#34;vim&#34;&gt;&lt;span&gt;&lt;/span&gt;&lt;span style=&#34;color: #f8f8f2&#34;&gt;inoremap&lt;/span&gt; ;&lt;span style=&#34;color: #66d9ef&#34;&gt;r&lt;/span&gt; &lt;span style=&#34;color: #f8f8f2&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color: #66d9ef&#34;&gt;c&lt;/span&gt;&lt;span style=&#34;color: #f8f8f2&#34;&gt;-&lt;/span&gt;R&lt;span style=&#34;color: #f8f8f2&#34;&gt;&amp;gt;+&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>