メインコンテンツへスキップ

ObsidianのVimモードでNORMALモードに移行したらIMEをOFFにする(Mac)

ObsidianのVimモードでNORMALモードに移行した際、デフォルの動作ではIMEのON/OFFが変わらないため、日本語のテキストを書いているときに不便なので、im-select + Karabiner-Elementsを使ってEsc押下でIME OFFにする設定を追加した。

自分の環境では既にターミナルやGhostty用にその設定を入れているので、対象とするアプリとしてObisidianを追加するだけだった。

具体的にはbundle_identifiers"^md\\.obsidian$"を追加した。

Obsidianのbundle_identifierは以下のようにして調べた。

osascript -e 'id of app "Obsidian"'
md.obsidian

以下はKarabiner-Elementsに表示で入っている「TerminalまたはMacVimでESCあるいは^[を押したときに日本語入力を英数に切り替える」にGhosttyとObsidianを追加したもの。

{
    "description": "指定したアプリでESCあるいは^[を押したときに日本語入力を英数に切り替える。",
    "manipulators": [
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.apple\\.Terminal$",
                        "^org\\.vim\\.",
                        "^com\\.mitchellh\\.ghostty$",
                        "^md\\.obsidian$"
                    ],
                    "type": "frontmost_application_if"
                }
            ],
            "from": {
                "key_code": "escape",
                "modifiers": { "optional": ["any"] }
            },
            "to": [
                { "key_code": "japanese_eisuu" },
                { "key_code": "escape" }
            ],
            "type": "basic"
        },
        {
            "conditions": [
                {
                    "bundle_identifiers": [
                        "^com\\.apple\\.Terminal$",
                        "^org\\.vim\\."
                    ],
                    "type": "frontmost_application_if"
                }
            ],
            "from": {
                "key_code": "open_bracket",
                "modifiers": { "mandatory": ["left_control"] }
            },
            "to": [
                { "key_code": "japanese_eisuu" },
                { "key_code": "escape" }
            ],
            "type": "basic"
        }
    ]
}

関連記事

Obsidianの検索機能

Obsidianの標準の検索機能に関するメモ。検索 - Obsidian 日本語ヘルプ - Obsidian Publishより良く使うものを抜粋した。 ショートカットキー # Ctrl+Shift+Fまたは⌘+⇧+F 検索結果表示のオプション # 検索窓の右にあるボタンを押すと検索結果表示のオプションを設定できる。検索結果が多い場合などは、折りたたんでノート名であたりをつけたりするのに便利。 検索結果の埋め込み # ```query embed OR search ``` などとするとノート内に検索結果を埋め込むことができる。この機能はObsidian PublishでもQuartzでもサポートされていない。 検索クエリ # 検索条件 書きかた 説明 AND検索 foo bar fooとbarが含まれる OR検索 foo OR bar fooまたはbarが含まれる NOT検索 foo -bar fooを含むがbarを含まない foo スペースを含む文字列の検索 “foo bar” foo barという文字列を探す 特殊記号のエスケープ \" \\に続けて書くと通常の文字して検索 グループ化 ((a OR b) (c OR d)) 検索条件のグループ化 正規表現 /f../ //の中に正規表現を書く ファイル名検索 file:".jpg" ファイル名に.jpgを含むファイルを検索 ファイルパス検索 path:“journal/” ファイルパスにjournalを含むファイルを検索 タグ検索 tag:#mac タグに#macを含むノートを検索 大文字小文字を無視 ignore-case:(ABC) 大文字小文字を区別せずにABCを検索 大文字小文字を区別 match-case:(ABC) 大文字小文字を区別してABCを検索 ユースケース # 特定のディレクトリ配下を除外して検索 # 検索結果にノイズが含まれてしまうため、作業ログを置いているjournalというディレクトリは除外して検索したい。

Alfred

Alfred - Productivity App for macOS Mac用のキーボードショートカットアプリ。キー入力だけでアプリを起動したり、Web検索をしたり、コンピュータ上のファイルを検索したり、システムコマンドを実行したりできる。 Alfred関連ノート # AlfredからObsidianの保管庫を検索する Alfred常用のための設定と導入ワークフロー AlfredでDeepL翻訳するワークフロー deepl-alfred-workflow2

Textwell

Textwell - The Modeless Textbox for iPhone, iPad, iPod touch, Mac, and Watch. メモ、メッセージ、ブログ、検索、投稿など、あらゆる文章作成タスクに使用できる多目的テキストエディタ ファイリングやスタイリングのための機能はないが、JavaScriptベースのカスタマイズ可能なアクション、自動履歴、クラウド同期などをサポートしており、シンプルで拡張性が高い Mac版、iOS版、AppleWatch版がある Textwell | URL Schemes 自作のアクションなど # ソートして重複行を削除するTextwellのアクション Obsidianのデイリーノートへ追記するTextwellのアクション Amazonから書誌情報をTextwellへ取り込むブックマークレット

日付キーワードからフォーマットされた日付テキストを生成するAlfred Workflow

azooKeyという高精度なニューラルかな漢字変換エンジンをサポートしたiOS用キーボードアプリのmacOS版を試している。 ライブ変換もサポートしていて、標準のIMEより変換精度が高くて素晴らしい。問題なく常用できそうな感じ。 ただ、いくつかのIMEでサポートしている「きょう」で本日の日付に変換する機能がないんですよね。これはXでも話題になっていて、以下のような改善策も見つけました。 azooKey-Desktop で日付を入力する - terfnoのScrapbox しかし、個人的には「昨日」や「明日」「先週の金曜日」などの日付を得たいケースが多く、ChatGPTでAlfred用のワークフローを作成した。 動作イメージ # ワークフローを起動して、キーワードを入力すると対応するものがサジェストされる。 キーワードを決定すると、複数の日付フォーマットを選択できる。 対応キーワード # today:今日 yesterday:昨日 tomorrow:明日 dayaftertomorrow(略:dat):明後日 daybeforeyesterday(略:dby):一昨日 mon / tue / wed / thu / fri / sat / sun:各曜日 曜日を入力した場合は 「直近の過去の同曜日」「次に来る同曜日」を候補に表示 出力フォーマット # ISO形式:YYYY-MM-DD ISO + 曜日:YYYY-MM-DD(Fri) 日本語形式:YYYY年M月D日(金) 和暦形式(令和):令和X年M月D日(金) ダウンロード # 作成したワークフローを置いておきます。Alfred 5.7で動作確認しました。

Kindleの蔵書一覧を生成するRubyスクリプト

MacにインストールされているKindleアプリのデータから蔵書一覧を生成 kindle_books_mac.rbrequire 'rexml/document' require 'date' require 'csv' # Kindle for Mac KINDLE_XML = "#{ENV['HOME']}/Library/Containers/com.amazon.Kindle/Data/Library/Application Support/Kindle/Cache/KindleSyncMetadataCache.xml" doc = REXML::Document.new(File.read(KINDLE_XML)) csv = CSV.generate(force_quotes: true) do |csv| doc.elements.each("//response/add_update_list/meta_data") do |e| csv << [ e.elements["ASIN"].text, e.elements["title"].text, e.elements["authors"].map{|item| item.text}.join('/'), e.elements["publishers"].map{|item| item.text}.join('/'), e.elements["publication_date"].text, e.elements["purchase_date"].text ] end end puts csv

PopClip for Macのエクステンション・スニペット

スニペット # Mac用のツールPopClip for Macの自作スニペット。スニペット全体を選択すればPopClipのメニューからインストールできる。 アイコンの指定方法はIcons — PopClip Developerにある。 物書堂の辞書を検索する # #popclip extension to search MkDictionaries name: MkDictionaries icon: square filled 物 url: mkdictionaries:///?text=*** Googleのカスタム検索 # 検索エンジンIDは定義したカスタム検索のIDを指定する Programmable Search - すべての検索エンジン #popclip extension to Googleカスタム検索 name: Googleカスタム検索 icon: circle filled G url: https://cse.google.com/cse?cx=検索エンジンID#gsc.tab=0&gsc.q=***&gsc.sort= エクステンション # 全角→半角変換 # 選択文字列中の全角英数字・記号・カナを半角に変換する。たまにある半角文字しか受け付けないサイトなどで使う。 PopClip-Extensions/ZenHan.popclipext at main · htakeuchi/PopClip-Extensions 半角→全角変換 # 選択文字列中の半角英数字・記号・カナを全角に変換する。ついでなので逆変換もつくった。