<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Zsh on 高木のブログ</title>
    <link>https://takagi.blog/tags/zsh/</link>
    <description>Recent content in Zsh on 高木のブログ</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja-jp</language>
    <lastBuildDate>Sun, 19 Dec 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://takagi.blog/tags/zsh/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>【Prezto】リダイレクトによる上書きを有効にする</title>
      <link>https://takagi.blog/enable-clobber-in-prezto/</link>
      <pubDate>Sun, 19 Dec 2021 00:00:00 +0000</pubDate>
      
      <guid>https://takagi.blog/enable-clobber-in-prezto/</guid>
      <description>&lt;p&gt;Prezto を導入してから、リダイレクトでの上書き（および追記）ができなくなった&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# sample&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; README.md
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zsh: no such file or directory: README.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# sample&amp;#34;&lt;/span&gt; &amp;gt; README.md
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;zsh: file exists: README.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;GitHubにコードを上げる時にリポジトリを作ってコピーしてペッ！ってのが出来なくて不便&lt;br&gt;
これの1行目からつまずく&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;# sample&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; README.md
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git add README.md
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git commit -m &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;first commit&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git branch -M main
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git remote add origin git@github.com:ytkg/sample.git
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git push -u origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;原因&#34;&gt;原因 &lt;a href=&#34;#%e5%8e%9f%e5%9b%a0&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Prezto の設定でリダイレクトによる上書きが無効にされていた（&lt;a href=&#34;https://github.com/sorin-ionescu/prezto/blob/ecaed1cfa7591d2304d7eb5d69b42b54961a7145/modules/directory/init.zsh#L21-L22&#34; target=&#34;_blank&#34;&gt;prezto/modules/directory/init.zsh&lt;/a&gt;
）&lt;/p&gt;
&lt;h2 id=&#34;解決方法&#34;&gt;解決方法 &lt;a href=&#34;#%e8%a7%a3%e6%b1%ba%e6%96%b9%e6%b3%95&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;.zshrc&lt;/code&gt; に リダイレクトによる上書きを有効する設定 を追記する&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash:title=.zshrc&#34; data-lang=&#34;bash:title=.zshrc&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;setopt CLOBBER
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;参考&#34;&gt;参考 &lt;a href=&#34;#%e5%8f%82%e8%80%83&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://daido.hatenablog.jp/entry/2019/05/18/202555&#34; target=&#34;_blank&#34;&gt;zsh のリダイレクトによる上書き with prezto - Note&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/b4b4r07/items/3779fc3ab98b918c7711&#34; target=&#34;_blank&#34;&gt;シェルスクリプトでリダイレクトによる上書き防止 - Qiita&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>ZshでPreztoを導入してテーマをredhatにしたら、出力結果の改行無し最終行が表示されなくなった</title>
      <link>https://takagi.blog/zsh-prezto-redhat-last-line-will-be-deleted/</link>
      <pubDate>Tue, 24 Aug 2021 00:00:00 +0000</pubDate>
      
      <guid>https://takagi.blog/zsh-prezto-redhat-last-line-will-be-deleted/</guid>
      <description>&lt;h2 id=&#34;問題&#34;&gt;問題 &lt;a href=&#34;#%e5%95%8f%e9%a1%8c&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;タイトル通りで、Zsh使いになってZshフレームワークのPreztoを導入したら出力結果の改行無し最終行が表示されなくなった&lt;/p&gt;
&lt;p&gt;自分は文字列を返すAPIをCurlで叩いた時に起きたけど、わかりやすいようにここではechoで例を示す&lt;/p&gt;
&lt;h3 id=&#34;問題の出力例&#34;&gt;問題の出力例 &lt;a href=&#34;#%e5%95%8f%e9%a1%8c%e3%81%ae%e5%87%ba%e5%8a%9b%e4%be%8b&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ytkg@TAKAGInoMacBook-Pro ~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;$ echo -n &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello\nWorld&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hello
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ytkg@TAKAGInoMacBook-Pro ~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;理想の出力例&#34;&gt;理想の出力例 &lt;a href=&#34;#%e7%90%86%e6%83%b3%e3%81%ae%e5%87%ba%e5%8a%9b%e4%be%8b&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ytkg@TAKAGInoMacBook-Pro ~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;$ echo -n &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello\nWorld&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hello
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;World&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ytkg@TAKAGInoMacBook-Pro ~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;原因&#34;&gt;原因 &lt;a href=&#34;#%e5%8e%9f%e5%9b%a0&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;プロンプトの設定で、PROMPT_CRがONでPROMPT_SPがOFFになっているからっぽい&lt;br&gt;
その組み合わせだとどうしてダメなのか、そもそもPROMPT_CRとPROMPT_SPは何なのかは割愛する&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ set -o | sed -e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/^no\(.*\)on$/\1  off/&amp;#39;&lt;/span&gt; -e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/^no\(.*\)off$/\1  on/&amp;#39;&lt;/span&gt; |grep -E &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;prompt(cr|sp)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;promptcr              on
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;promptsp              off
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ちなみにZshのデフォルトは両方ともONらしいけど、redhatの場合、PROMPT_CRのみONにする設定になっていた&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://zsh.sourceforge.io/Doc/Release/Options.html#Prompting&#34; target=&#34;_blank&#34;&gt;https://zsh.sourceforge.io/Doc/Release/Options.html#Prompting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/zsh-users/zsh/blob/00d20ed15e18f5af682f0daec140d6b8383c479a/Functions/Prompts/prompt_redhat_setup&#34; target=&#34;_blank&#34;&gt;zsh/prompt_redhat_setup at 00d20ed15e18f5af682f0daec140d6b8383c479a · zsh-users/zsh&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;解決方法&#34;&gt;解決方法 &lt;a href=&#34;#%e8%a7%a3%e6%b1%ba%e6%96%b9%e6%b3%95&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;~/.zshrcにPROMPT_CRをOFFにする設定を追加する&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash:title=~/.zshrc&#34; data-lang=&#34;bash:title=~/.zshrc&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;unsetopt prompt_cr
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ source ~/.zshrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ set -o | sed -e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/^no\(.*\)on$/\1  off/&amp;#39;&lt;/span&gt; -e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/^no\(.*\)off$/\1  on/&amp;#39;&lt;/span&gt; |grep -E &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;prompt(cr|sp)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;promptcr              off
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;promptsp              off
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ytkg@TAKAGInoMacBook-Pro ~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;$ echo -n &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello\nWorld&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hello
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;World&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ytkg@TAKAGInoMacBook-Pro ~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;理想の出力になった&lt;/p&gt;
&lt;h2 id=&#34;補足&#34;&gt;補足 &lt;a href=&#34;#%e8%a3%9c%e8%b6%b3&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;パイプやリダイレクトでも起きる&#34;&gt;パイプやリダイレクトでも起きる &lt;a href=&#34;#%e3%83%91%e3%82%a4%e3%83%97%e3%82%84%e3%83%aa%e3%83%80%e3%82%a4%e3%83%ac%e3%82%af%e3%83%88%e3%81%a7%e3%82%82%e8%b5%b7%e3%81%8d%e3%82%8b&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;この現象は表示だけではなく、パイプやリダイレクトでも起きることを確認した&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo -n &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello\nWorld&amp;#34;&lt;/span&gt; | cat
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hello
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ echo -n &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello\nWorld&amp;#34;&lt;/span&gt; &amp;gt; output.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ cat output.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hello
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;prompt_spをonにするパターンでは解決せず&#34;&gt;PROMPT_SPをONにするパターンでは解決せず &lt;a href=&#34;#prompt_sp%e3%82%92on%e3%81%ab%e3%81%99%e3%82%8b%e3%83%91%e3%82%bf%e3%83%bc%e3%83%b3%e3%81%a7%e3%81%af%e8%a7%a3%e6%b1%ba%e3%81%9b%e3%81%9a&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;PROMPT_SPをONにする解決方法の記事もいくつか見つかったが、自分の環境ではダメだった&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash:title=~/.zshrc&#34; data-lang=&#34;bash:title=~/.zshrc&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;setopt prompt_sp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ set -o | sed -e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/^no\(.*\)on$/\1  off/&amp;#39;&lt;/span&gt; -e &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/^no\(.*\)off$/\1  on/&amp;#39;&lt;/span&gt; |grep -E &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;prompt(cr|sp)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;promptcr              on
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;promptsp              on
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ytkg@TAKAGInoMacBook-Pro ~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;$ echo -n &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello\nWorld&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Hello
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;World%
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ytkg@TAKAGInoMacBook-Pro ~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;最終行末尾に%が表示されているし、改行もされている&lt;/p&gt;
&lt;h2 id=&#34;参考&#34;&gt;参考 &lt;a href=&#34;#%e5%8f%82%e8%80%83&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/mhangyo/items/a73d914caed747f12d06&#34; target=&#34;_blank&#34;&gt;zshで末尾に改行がない出力が表示されない問題 - Qiita&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/mollifier/items/26c67347734f9fcda274&#34; target=&#34;_blank&#34;&gt;zshでオプション一覧の出力を分かりやすくする - Qiita&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://dqn.sakusakutto.jp/2012/08/zsh_unsetopt_promptcr_zshrc.html&#34; target=&#34;_blank&#34;&gt;[zsh]改行のない行が無視されてしまうのはzshの仕様だった件 ·  DQNEO日記&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://michimani.net/post/develop-zsh-prompt-remove-last-line/&#34; target=&#34;_blank&#34;&gt;zsh で出力結果の最終行が表示されない問題の解決方法 - michimani.net&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>ZshフレームワークのPreztoを導入</title>
      <link>https://takagi.blog/using-the-zsh-framework-prezto/</link>
      <pubDate>Fri, 20 Aug 2021 00:00:00 +0000</pubDate>
      
      <guid>https://takagi.blog/using-the-zsh-framework-prezto/</guid>
      <description>&lt;p&gt;Zsh使いになったので、Zshフレームワークの&lt;a href=&#34;https://github.com/sorin-ionescu/prezto&#34; target=&#34;_blank&#34;&gt;Prezto&lt;/a&gt;
を導入してみた&lt;/p&gt;
&lt;h2 id=&#34;手順&#34;&gt;手順 &lt;a href=&#34;#%e6%89%8b%e9%a0%86&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;リポジトリをclone&#34;&gt;リポジトリをclone &lt;a href=&#34;#%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%82%92clone&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;% git clone --recursive https://github.com/sorin-ionescu/prezto.git &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;ZDOTDIR&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/.zprezto&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;既存の設定ファイルを退避&#34;&gt;既存の設定ファイルを退避 &lt;a href=&#34;#%e6%97%a2%e5%ad%98%e3%81%ae%e8%a8%ad%e5%ae%9a%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e9%80%80%e9%81%bf&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;次のステップで設定ファイルのシンボリックリンクを貼るので退避させておく&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;% mv ~/.zshrc ~/.zshrc.bk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;他にも.zlogin .zlogout .zprofile .zshenvがあったら同様に退避させる&lt;/p&gt;
&lt;h3 id=&#34;設定ファイルを作成&#34;&gt;設定ファイルを作成 &lt;a href=&#34;#%e8%a8%ad%e5%ae%9a%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e4%bd%9c%e6%88%90&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;% setopt EXTENDED_GLOB
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; rcfile in &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;ZDOTDIR&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;/.zprezto/runcoms/^README.md&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;.N&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ln -s &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$rcfile&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;ZDOTDIR&lt;span style=&#34;color:#66d9ef&#34;&gt;:-&lt;/span&gt;$HOME&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/.&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;rcfile:t&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;設定ファイルのシンボリックリンクができている&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;% ls -la | grep zprezto/runcoms
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lrwxr-xr-x   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; ytkg  staff     &lt;span style=&#34;color:#ae81ff&#34;&gt;35&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt; 23:42 .zlogin -&amp;gt; /Users/ytkg/.zprezto/runcoms/zlogin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lrwxr-xr-x   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; ytkg  staff     &lt;span style=&#34;color:#ae81ff&#34;&gt;36&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt; 23:42 .zlogout -&amp;gt; /Users/ytkg/.zprezto/runcoms/zlogout
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lrwxr-xr-x   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; ytkg  staff     &lt;span style=&#34;color:#ae81ff&#34;&gt;38&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt; 23:42 .zpreztorc -&amp;gt; /Users/ytkg/.zprezto/runcoms/zpreztorc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lrwxr-xr-x   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; ytkg  staff     &lt;span style=&#34;color:#ae81ff&#34;&gt;37&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt; 23:42 .zprofile -&amp;gt; /Users/ytkg/.zprezto/runcoms/zprofile
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lrwxr-xr-x   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; ytkg  staff     &lt;span style=&#34;color:#ae81ff&#34;&gt;35&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt; 23:42 .zshenv -&amp;gt; /Users/ytkg/.zprezto/runcoms/zshenv
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;lrwxr-xr-x   &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; ytkg  staff     &lt;span style=&#34;color:#ae81ff&#34;&gt;34&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;8&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;16&lt;/span&gt; 23:42 .zshrc -&amp;gt; /Users/ytkg/.zprezto/runcoms/zshrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;zshを再起動&#34;&gt;Zshを再起動 &lt;a href=&#34;#zsh%e3%82%92%e5%86%8d%e8%b5%b7%e5%8b%95&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Preztoが適用されている
&lt;img src=&#34;https://s3.ap-northeast-1.amazonaws.com/takagi.blog/using-the-zsh-framework-prezto/001.png&#34; alt=&#34;Prezto on Zsh&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;設定ファイルをいじる&#34;&gt;設定ファイルをいじる &lt;a href=&#34;#%e8%a8%ad%e5%ae%9a%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e3%81%84%e3%81%98%e3%82%8b&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;退避した設定ファイルの中身を新しく作った設定ファイルに追記して終わり&lt;/p&gt;
&lt;h2 id=&#34;プロンプトのテーマを変更する&#34;&gt;プロンプトのテーマを変更する &lt;a href=&#34;#%e3%83%97%e3%83%ad%e3%83%b3%e3%83%97%e3%83%88%e3%81%ae%e3%83%86%e3%83%bc%e3%83%9e%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Preztoの導入は終わったが、プロンプトのテーマの変更までやってみる&lt;/p&gt;
&lt;h3 id=&#34;テーマを確認&#34;&gt;テーマを確認 &lt;a href=&#34;#%e3%83%86%e3%83%bc%e3%83%9e%e3%82%92%e7%a2%ba%e8%aa%8d&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;選べるテーマを確認することができる&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~ ❯❯❯ prompt -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://s3.ap-northeast-1.amazonaws.com/takagi.blog/using-the-zsh-framework-prezto/002.png&#34; alt=&#34;prompt -p&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;テーマを設定&#34;&gt;テーマを設定 &lt;a href=&#34;#%e3%83%86%e3%83%bc%e3%83%9e%e3%82%92%e8%a8%ad%e5%ae%9a&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;設定は.zpreztorcに書く&lt;br&gt;
既にデフォルト値が書かれているので書き換え&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-diff:title=.zpreztorc&#34; data-lang=&#34;diff:title=.zpreztorc&#34;&gt;- zstyle &amp;#39;:prezto:module:prompt&amp;#39; theme &amp;#39;sorin&amp;#39;
+ zstyle &amp;#39;:prezto:module:prompt&amp;#39; theme &amp;#39;redhat&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;zshを再起動-1&#34;&gt;Zshを再起動 &lt;a href=&#34;#zsh%e3%82%92%e5%86%8d%e8%b5%b7%e5%8b%95-1&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;テーマが反映されている&lt;br&gt;
例として使うには相応しくなさそうだけど、シンプルなredhatにした&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Last login: Wed Aug &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt; 21:26:05 on ttys017
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;ytkg@TAKAGInoMacBook-Pro ~&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;デフォルトのエディタをvimに変更&#34;&gt;デフォルトのエディタをVimに変更 &lt;a href=&#34;#%e3%83%87%e3%83%95%e3%82%a9%e3%83%ab%e3%83%88%e3%81%ae%e3%82%a8%e3%83%87%e3%82%a3%e3%82%bf%e3%82%92vim%e3%81%ab%e5%a4%89%e6%9b%b4&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Preztoを入れたらデフォルトのエディタがnanoになってたので、Vimに戻す&lt;br&gt;
git commitでnanoが起動してびっくりした&lt;/p&gt;
&lt;p&gt;設定は.zprofileに書かれている&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-diff:title=.zprofile&#34; data-lang=&#34;diff:title=.zprofile&#34;&gt;- export EDITOR=&amp;#39;nano&amp;#39;
- export VISUAL=&amp;#39;nano&amp;#39;
+ export EDITOR=&amp;#39;vim&amp;#39;
+ export VISUAL=&amp;#39;vim&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;参考&#34;&gt;参考 &lt;a href=&#34;#%e5%8f%82%e8%80%83&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://dev.classmethod.jp/articles/zsh-prezto/&#34; target=&#34;_blank&#34;&gt;Zsh + Prezto で快適コマンド環境を構築する | DevelopersIO&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/naru0504/items/29d54d91e7823732ab9b&#34; target=&#34;_blank&#34;&gt;Zsh環境をPreztoで構築したらエディタがnanoになってたからvimにした - Qiita&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
  </channel>
</rss>
