<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>除錯筆記 on Tom 除錯中</title><link>https://tomleesm.github.io/tags/%E9%99%A4%E9%8C%AF%E7%AD%86%E8%A8%98/</link><description>Recent content in 除錯筆記 on Tom 除錯中</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Wed, 27 Nov 2024 17:50:21 +0800</lastBuildDate><atom:link href="https://tomleesm.github.io/tags/%E9%99%A4%E9%8C%AF%E7%AD%86%E8%A8%98/index.xml" rel="self" type="application/rss+xml"/><item><title>解決 VTE 為基礎的終端機程式游標問題</title><link>https://tomleesm.github.io/posts/2024/11/fix-vte-terminal-bug/</link><pubDate>Wed, 27 Nov 2024 17:50:21 +0800</pubDate><guid>https://tomleesm.github.io/posts/2024/11/fix-vte-terminal-bug/</guid><description>&lt;p&gt;這幾天改用 Windows 10，用 VirtualBox 建立 Alpine Linux 虛擬環境，用來跑 docker。其中用 ssh 連到 Linux，再用 Vim 編輯檔案，結果發現游標不是我習慣的那樣。正常情況下，在 normal 模式，游標會選取字元並反白，按 i 會進入 insert 模式，字元不再選取，&lt;code&gt;|&lt;/code&gt; 游標會在左邊，然後可以開始輸入，如果按 a 則 &lt;code&gt;|&lt;/code&gt; 游標會在右邊。但是現在卻變成不管是哪個模式，游標都一樣，例如全部都是 &lt;code&gt;|&lt;/code&gt;，即使是 normal 模式。Neovim 則無此問題。&lt;/p&gt;
&lt;p&gt;Google 後發現 Vim 用以下的設定就能恢復正常，其中最後三行的 set 讓游標切換沒有大約一秒的延遲。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-vim" data-lang="vim"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;let&lt;/span&gt; &amp;amp;&lt;span class="nx"&gt;t_SI&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;\&amp;lt;Esc&amp;gt;[6 q&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;&amp;#34; I beam cursor for insert mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;let&lt;/span&gt; &amp;amp;&lt;span class="nx"&gt;t_SR&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;\&amp;lt;Esc&amp;gt;[4 q&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;&amp;#34; underline cursor for replace mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;let&lt;/span&gt; &amp;amp;&lt;span class="nx"&gt;t_EI&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;\&amp;lt;Esc&amp;gt;[2 q&amp;#34;&lt;/span&gt; &lt;span class="c"&gt;&amp;#34; block cursor for normal mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nx"&gt;ttimeout&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nx"&gt;ttimeoutlen&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nx"&gt;ttyfast&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;VTE 是 Virtual Terminal Emulator（虛擬終端模擬器）的縮寫，為 Gnome 的一部分，它提供 API 以建立各種終端機程式，功能強大。會有游標問題，似乎是因為 VTE 可以自訂游標，Vim 如果沒有特別設定，便會依照終端機的設定全部模式都用相同的游標&lt;/p&gt;</description></item></channel></rss>