<?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>Ai on ashitaka blog</title>
    <link>https://8fd9c3c3.blog-1xe.pages.dev/tags/ai/</link>
    <description>Recent content in Ai on ashitaka blog</description>
    <generator>Hugo</generator>
    <language>ja-jp</language>
    <lastBuildDate>Sun, 10 Dec 2023 04:33:09 +0900</lastBuildDate>
    <atom:link href="https://8fd9c3c3.blog-1xe.pages.dev/tags/ai/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Vimmerを卒業してCursorerになる</title>
      <link>https://8fd9c3c3.blog-1xe.pages.dev/2023/12/10/hello-cursor/</link>
      <pubDate>Sun, 10 Dec 2023 04:33:09 +0900</pubDate>
      <guid>https://8fd9c3c3.blog-1xe.pages.dev/2023/12/10/hello-cursor/</guid>
      <description>&lt;p&gt;お久しぶりです。ChatGPTを使えば毎週ブログ記事かけるっしょっと思っていたのですか、気づけば前回投稿から半年以上経ってました。&lt;/p&gt;
&lt;p&gt;ゴルフし過ぎました。&lt;/p&gt;
&lt;p&gt;2020年に社会人になってからVimで開発をし続けていたのですが、ついにVimを卒業してCursorというAIベースのエディタに転向しました。&lt;/p&gt;
&lt;p&gt;理由は「Vimを使っている時点で、自分でコードを書こうとしてしまって、AIにコードを書かせる癖がつかないから」です。&lt;/p&gt;
&lt;p&gt;今年の9月からAIに関するプロダクトの開発チームにjoinしたのも転向しようという考えに至るきっかけとなりました。&lt;/p&gt;
&lt;p&gt;そんなAIベースエディタのCursorをどのように使っているのかを書き残しておきます。&lt;/p&gt;
&lt;h2 id=&#34;cursorとは&#34;&gt;Cursorとは&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://cursor.sh/&#34;&gt;https://cursor.sh/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;VSCodeからForkされて開発されたコードエディタです。AIとペアプロできる感じになっています。&lt;/p&gt;
&lt;p&gt;開発者が見た感じ4人。。。強い。。。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://anysphere.co/&#34;&gt;https://anysphere.co/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;cursorでできること&#34;&gt;Cursorでできること&lt;/h2&gt;
&lt;h3 id=&#34;コードについて質問できる&#34;&gt;コードについて質問できる&lt;/h3&gt;
&lt;p&gt;こんな感じでなんの処理をしているのかなんかを質問できます。&lt;/p&gt;
&lt;p&gt;そのほかにも、&lt;/p&gt;
&lt;p&gt;なんの処理をしているかだけでなく、そのコードが書かれている背景を推測してもらうとかもよくやります。&lt;/p&gt;
&lt;p&gt;エンジニアリングにおいて、自分がわかっていない領域を認知するメタ認知能力はとても大事です。先輩エンジニアにしょうもない質問はできないですが、AIならお構いなく質問できるかも…?&lt;/p&gt;
&lt;h3 id=&#34;コードを書いてくれる&#34;&gt;コードを書いてくれる&lt;/h3&gt;
&lt;p&gt;こんな感じで勝手にコード書いてくれます。Github Copilotではこれから書こうとする行を補完してくれるのみで具体的な指示はコメントを駆使する必要があるのですが、Cursorだとコードの外で指示を書いたりAcceptしたりRejectしたりできるのが良いです。&lt;/p&gt;
&lt;h3 id=&#34;コードを修正してくれる&#34;&gt;コードを修正してくれる&lt;/h3&gt;
&lt;p&gt;エラーが出た場合はそのエラー文をコピーして解消方法を探して見つけたらそれをコピーして…と割と大変なんですが、ボタン1クリックで原因を見つけてボタン1クリックで解消してくれます。最強。&lt;/p&gt;
&lt;h3 id=&#34;コマンドも書いてくれる&#34;&gt;コマンドも書いてくれる&lt;/h3&gt;
&lt;p&gt;このコマンドのオプションなんだっけ…?ってなってmanでいちいち調べるのめんどくさいですよね…&lt;/p&gt;
&lt;p&gt;最新のツールのコマンドなんかは学習されていない場合もあるかもなのですが、curlなんかの枯れたツールのコマンドなんかは安心して書いてもらえます。&lt;/p&gt;
&lt;h2 id=&#34;vimの操作感は捨て難い&#34;&gt;Vimの操作感は捨て難い&amp;hellip;!&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;init.vim&lt;/code&gt; をそのまま読み込ませてそのまま動作させるわけには行かないのですが(行けるかもなのですが)、VSCodeの &lt;code&gt;settings.json&lt;/code&gt; で自分がやりたい操作を定義し直しました&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
  &amp;#34;vim.normalModeKeyBindings&amp;#34;: [
    {
      &amp;#34;before&amp;#34;: [&amp;#34;C-h&amp;#34;],
      &amp;#34;after&amp;#34;: [&amp;#34;^&amp;#34;]
    },
    {
      &amp;#34;before&amp;#34;: [&amp;#34;C-l&amp;#34;],
      &amp;#34;after&amp;#34;: [&amp;#34;$&amp;#34;]
    },
    {
      &amp;#34;before&amp;#34;: [&amp;#34;C-y&amp;#34;, &amp;#34;t&amp;#34;],
      &amp;#34;commands&amp;#34;: [
        {
          &amp;#34;command&amp;#34;: &amp;#34;workbench.view.explorer&amp;#34;
        }
      ]
    },
    {
      &amp;#34;before&amp;#34;: [&amp;#34;g&amp;#34;, &amp;#34;r&amp;#34;],
      &amp;#34;commands&amp;#34;: [
        {
          &amp;#34;command&amp;#34;: &amp;#34;editor.action.revealDefinition&amp;#34;
        }
      ]
    },
    {
      &amp;#34;before&amp;#34;: [&amp;#34;\\&amp;#34;, &amp;#34;r&amp;#34;, &amp;#34;n&amp;#34;],
      &amp;#34;commands&amp;#34;: [
        {
          &amp;#34;command&amp;#34;: &amp;#34;editor.action.rename&amp;#34;
        }
      ]
    },
    {
      &amp;#34;before&amp;#34;: [&amp;#34;K&amp;#34;],
      &amp;#34;commands&amp;#34;: [
        {
          &amp;#34;command&amp;#34;: &amp;#34;editor.action.showHover&amp;#34;
        }
      ]
    }
  ],
  &amp;#34;vim.visualModeKeyBindings&amp;#34;: [
    {
      &amp;#34;before&amp;#34;: [&amp;#34;C-h&amp;#34;],
      &amp;#34;after&amp;#34;: [&amp;#34;^&amp;#34;]
    },
    {
      &amp;#34;before&amp;#34;: [&amp;#34;C-l&amp;#34;],
      &amp;#34;after&amp;#34;: [&amp;#34;$&amp;#34;]
    }
  ],
  &amp;#34;vim.operatorPendingModeKeyBindings&amp;#34;: [
    {
      &amp;#34;before&amp;#34;: [&amp;#34;C-h&amp;#34;],
      &amp;#34;after&amp;#34;: [&amp;#34;^&amp;#34;]
    },
    {
      &amp;#34;before&amp;#34;: [&amp;#34;C-l&amp;#34;],
      &amp;#34;after&amp;#34;: [&amp;#34;$&amp;#34;]
    }
  ],
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;まるっと私のVSCodeの設定を載せておきます。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
