<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>LazyVim on Natenoms Blog</title><link>https://natenom.de/tags/lazyvim/</link><description>Recent content in LazyVim on Natenoms Blog</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright/><lastBuildDate>Tue, 23 Jan 2024 04:02:10 +0100</lastBuildDate><atom:link href="https://natenom.de/tags/lazyvim/index.xml" rel="self" type="application/rss+xml"/><item><title>Dateinamen mit Emojies in Telescope in NeoVim</title><link>https://natenom.de/2024/01/dateinamen-mit-emojies-in-telescope-in-neovim/</link><pubDate>Tue, 23 Jan 2024 04:02:10 +0100</pubDate><guid>https://natenom.de/2024/01/dateinamen-mit-emojies-in-telescope-in-neovim/</guid><description><![CDATA[<p>Als ich das erste Mal einen Obsidian-Vault in NeoVim geöffent und nach einer Datei gesucht hatte, war ich etwas erstaunt, da in manchen Kontexten die Emojies in Dateinamen angezeigt wurden, in anderen jedoch nicht. Stattdessen wurden die Oktalzahlen(?) der Emojies angezeigt. Hat man so eine Suche dann mit Enter bestätigt, wurde eine solche Datei erstellt, statt eine vorhandene zu öffnen.</p>
<p>Statt z. B. die Datei <code>🌲Baum</code> zu öffnen, wird <code>\360\237\214\262Baum</code> angezeigt und geöffnet.</p>]]></description><content:encoded><![CDATA[<p>Als ich das erste Mal einen Obsidian-Vault in NeoVim geöffent und nach einer Datei gesucht hatte, war ich etwas erstaunt, da in manchen Kontexten die Emojies in Dateinamen angezeigt wurden, in anderen jedoch nicht. Stattdessen wurden die Oktalzahlen(?) der Emojies angezeigt. Hat man so eine Suche dann mit Enter bestätigt, wurde eine solche Datei erstellt, statt eine vorhandene zu öffnen.</p>
<p>Statt z. B. die Datei <code>🌲Baum</code> zu öffnen, wird <code>\360\237\214\262Baum</code> angezeigt und geöffnet.</p>
<p>Das Problem tauchte immer auf, wenn Telescope mit dem Modul(?) <code>git_files</code> aufgerufen wurde. Nicht jedoch mit <code>find_files</code>.</p>
<p>Nachdem ich dazu einen <a  class='urlextern'  href="https://github.com/nvim-telescope/telescope.nvim/issues/2877">Issue</a> beim Projekt Telescope erstellt hatte, wies mich der Maintainer darauf hin, dass das ansich kein Problem von Telescope sei, sondern dass <code>git ls-files</code> das so ausspuckt. Das wusste ich zu dem Zeitpunkt noch nicht, da ich nur die Basics von Git nutze.</p>
<p>Um das Problem nun zu lösen, habe ich die Konfiguration von LazyVim angepasst, damit bei <code>&lt;leader&gt;ff</code> und <code>&lt;leader&gt;&lt;space&gt;</code> immer <code>find_files</code> aufgerufen wird statt der Variante mit Git.</p>
<p>Hier meine angepasste Konfiguration für Telescope, die eigentlich fast die Standardkonfiguration des Plugins ist:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-lua" data-lang="lua"><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>  <span style="color:#e6db74">&#34;nvim-telescope/telescope.nvim&#34;</span>,
</span></span><span style="display:flex;"><span>  keys <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span>    { <span style="color:#e6db74">&#34;&lt;leader&gt;ff&#34;</span>, <span style="color:#e6db74">&#34;&lt;cmd&gt;Telescope find_files&lt;cr&gt;&#34;</span>, desc <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;Find Files&#34;</span> },
</span></span><span style="display:flex;"><span>    { <span style="color:#e6db74">&#34;&lt;leader&gt;fF&#34;</span>, <span style="color:#66d9ef">false</span> },
</span></span><span style="display:flex;"><span>    { <span style="color:#e6db74">&#34;&lt;leader&gt;&lt;space&gt;&#34;</span>, <span style="color:#e6db74">&#34;&lt;cmd&gt;Telescope find_files&lt;cr&gt;&#34;</span>, desc <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;Find Files (root dir)&#34;</span> },
</span></span><span style="display:flex;"><span>  },
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p><code>&lt;leader&gt;fF</code> hab ich ganz deaktiviert, da ich das bisher noch nicht brauche.</p>
<p>Passt.</p>]]></content:encoded></item><item><title>Autovervollständigung in NeoVim (bzw. LazyVim) abschaltbar machen</title><link>https://natenom.de/2024/01/autovervollstaendigung-in-neovim-bzw-lazyvim-abschaltbar-machen/</link><pubDate>Sun, 21 Jan 2024 02:51:22 +0100</pubDate><guid>https://natenom.de/2024/01/autovervollstaendigung-in-neovim-bzw-lazyvim-abschaltbar-machen/</guid><description>&lt;p>Die Autovervollständigung für NeoVim ist wirklich super, wenn man sie braucht. Aber wenn nicht, dann nervt es, wenn man bei fast jedem Tastenanschlag einen Vorschlag bekommt. Vor allem dann, wenn man im Insert-Modus nur mal eben ein Zeichen hinzufügen will.&lt;/p>
&lt;p>Deshalb habe ich in meine Konfiguration die Möglichkeit hinzugefügt, diese Funktion pro Buffer abzuschalten und wieder einzuschalten.&lt;/p></description><content:encoded><![CDATA[<p>Die Autovervollständigung für NeoVim ist wirklich super, wenn man sie braucht. Aber wenn nicht, dann nervt es, wenn man bei fast jedem Tastenanschlag einen Vorschlag bekommt. Vor allem dann, wenn man im Insert-Modus nur mal eben ein Zeichen hinzufügen will.</p>
<p>Deshalb habe ich in meine Konfiguration die Möglichkeit hinzugefügt, diese Funktion pro Buffer abzuschalten und wieder einzuschalten.</p>
<p>Man kann das sicher schöner machen, z. B. als Toggle, aber ich bin ja faul und mir reicht das so erstmal aus.</p>
<p>In die Datei <code>keymaps.lua</code> kommt hinein:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-lua" data-lang="lua"><span style="display:flex;"><span>vim.keymap.set(<span style="color:#e6db74">&#34;n&#34;</span>, <span style="color:#e6db74">&#34;&lt;leader&gt;nc0&#34;</span>, <span style="color:#66d9ef">function</span>()
</span></span><span style="display:flex;"><span>  require(<span style="color:#e6db74">&#34;cmp&#34;</span>).setup.buffer({ enabled <span style="color:#f92672">=</span> <span style="color:#66d9ef">false</span> })
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">end</span>, { desc <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;Disable Autocompletion&#34;</span> })
</span></span><span style="display:flex;"><span>vim.keymap.set(<span style="color:#e6db74">&#34;n&#34;</span>, <span style="color:#e6db74">&#34;&lt;leader&gt;nc1&#34;</span>, <span style="color:#66d9ef">function</span>()
</span></span><span style="display:flex;"><span>  require(<span style="color:#e6db74">&#34;cmp&#34;</span>).setup.buffer({ enabled <span style="color:#f92672">=</span> <span style="color:#66d9ef">true</span> })
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">end</span>, { desc <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;Enable Autocompletion&#34;</span> })
</span></span></code></pre></div><p>Dann führt man die Datei entweder mit <code>:source</code> aus oder startet NeoVim neu und es gibt bei <code>&lt;leader&gt;nc</code> die beiden Auswahlmöglichkeiten:</p>
 <figure class="image-caption"><picture><source type="webp" srcset="/2024/01/autovervollstaendigung-in-neovim-bzw-lazyvim-abschaltbar-machen/2024-01-21-which-key.webp" />
			         <img alt="" src="/2024/01/autovervollstaendigung-in-neovim-bzw-lazyvim-abschaltbar-machen/2024-01-21-which-key.webp" title="" width="548" height="245" loading="lazy" /></picture><figcaption>Screenshot vom NeoVim UI, in dem gerade das Plugin which-key aktiviert wurde.</figcaption></figure>
<p>Damit da &ldquo;completion&rdquo; steht und nicht nur &ldquo;c -&gt; +prefix&rdquo;, muss man die Konfiguration des Plugins <code>which-key</code> anpassen:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-lua" data-lang="lua"><span style="display:flex;"><span><span style="color:#66d9ef">return</span> {
</span></span><span style="display:flex;"><span>  <span style="color:#e6db74">&#34;folke/which-key.nvim&#34;</span>,
</span></span><span style="display:flex;"><span>  opts <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span>    defaults <span style="color:#f92672">=</span> {
</span></span><span style="display:flex;"><span>      [<span style="color:#e6db74">&#34;&lt;leader&gt;n&#34;</span>] <span style="color:#f92672">=</span> { name <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;+natenom&#34;</span> },
</span></span><span style="display:flex;"><span>      [<span style="color:#e6db74">&#34;&lt;leader&gt;nc&#34;</span>] <span style="color:#f92672">=</span> { name <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;+completion&#34;</span> },
</span></span><span style="display:flex;"><span>    },
</span></span><span style="display:flex;"><span>  },
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>Das kommt in die Datei <code>whichkey.lua</code> innerhalb von <code>plugins/</code>.</p>
<p>Ich schalte das meist beim Schreiben von Blogbeiträgen aus. In Einzelfällen kann man die Autovervollständigung trotzdem mit <code>Ctrl + &lt;space&gt;</code> einmalig anzeigen lassen.</p>]]></content:encoded></item></channel></rss>