<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>IME on 髭、はえ初めし頃。</title>
    <link>https://d3.haro.jp/tags/IME/</link>
    <description>Recent content in IME on 髭、はえ初めし頃。</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja-jp</language>
    <lastBuildDate>Mon, 12 Oct 2026 11:05:01 +0900</lastBuildDate><atom:link href="https://d3.haro.jp/tags/IME/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CotEditor でモードレスな日本語入力</title>
      <link>https://d3.haro.jp/docs/2026/coteditor-modeless/</link>
      <pubDate>Mon, 12 Oct 2026 11:05:01 +0900</pubDate>
      
      <guid>https://d3.haro.jp/docs/2026/coteditor-modeless/</guid>
      <description><![CDATA[ <h1 id="coteditor-でモードレスな日本語入力">
  CotEditor でモードレスな日本語入力
  <a class="anchor" href="#coteditor-%e3%81%a7%e3%83%a2%e3%83%bc%e3%83%89%e3%83%ac%e3%82%b9%e3%81%aa%e6%97%a5%e6%9c%ac%e8%aa%9e%e5%85%a5%e5%8a%9b">#</a>
</h1>
<p><a href="/docs/2021/mozc-temp/">モードレス変換</a>
が大好きな私ですが、CotEditor 使い始めて 1 年以上、その間モードレス変換からも遠ざかっていたわけで。</p>
<p>そして、その間も世の中は進んでいくわけで。<br>
<a href="https://zenn.dev/kiyoka/articles/japanese-input-method-lineup" target="_blank" rel="noopener">https://zenn.dev/kiyoka/articles/japanese-input-method-lineup</a>
</p>
<p>やっぱり欲しいよなぁ、と思って実験的に作ってみたら、想像していたよりはサクサク動作しているので、生成 AI にリファクタ &amp; ドキュメント作ってもらって公開。<br>
<a href="https://github.com/higemaru/coteditor-modeless" target="_blank" rel="noopener">https://github.com/higemaru/coteditor-modeless</a>
</p>
<ol>
<li>CotEditor から AppleScript を呼んで、カーソル位置から前にさかのぼって範囲を確定</li>
<li>選択範囲を別プログラムに渡す</li>
<li>選択範囲のローマ字文字列を取得</li>
<li>IME ON して、取得した文字列を入力</li>
<li>Enter / Ctrl+M で確定されたら IME OFF</li>
</ol>
<p>最初は変換するたびにプログラム起動してたんだけど、起動に一番時間がかかるので、常駐させました。<br>
むかーーし ObjC 書いたことある程度で Swift は初経験だったけど、ダメな部分は生成 AI さんが修正してくれるので安心。</p>
<p>それにしても、AI が作った文章って、なんか AI だよね。自分だけだとソースコードのコメントすら書かない時あるので、それに比べると素晴らしいんだけどね。ありがてぇ。</p>
<video width=100% controls>
    <source src="https://filedn.com/l2luTWp3NzbpjAodhk9Fxpy/20261012_modeless.mp4" type="video/mp4">
    Your browser does not support the video tag.  
</video>

]]></description>
    </item>
    
  </channel>
</rss>
