Sublime Text 4 Custom 1

Sublime Text 4 が F7 でカタカナ変換できない問題。
v3 の時からか、日本語環境だけの問題だから放置されているのね。
これは v3 の時と同じ手段で回避可能でした。

Sublime Text 3のF7を無効にする(macOS) – Qiita

コレをやると左側ペインのデフォルトも編集できるようになるおまけ付き。
問題になりそうなものや無効化したいキーをコメントアウト。

kbd

キーカスタムはスニペットの登録とかがあるので一旦置いて。

ということで基本設定の暫定。
一番上のは最初から書き込まれていたけど何かは知らない。

{
    "ignored_packages":
    [
        "Vintage",
    ],
    // コード保管無効
    "auto_complete": false,
    // 閉じ括弧自動補完無効
    "auto_match_enabled": false,
    // 起動時に新規ウインドウを作らない
    "create_window_at_startup": false,
    // 保存確認飛ばしさせない
    "hot_exit": "disabled",
    // タブ追加は一番最後に
    "open_tabs_after_current": false,
    // タブ入力は半角スペース化
    "translate_tabs_to_spaces": true,
    // 保存時に行末の空白を削除
    "trim_trailing_white_space_on_save": "all"
}

とにかく邪魔なコード保管と閉じ括弧保管を無効に。
保管ってこちらから要求した時にだけやってくれないと困るよ。
腹が減ってないのに飯を出されてもイラッとするでしょ。

起動時に前回終了時のタブを復元阻止は 3, 4 番目。
v4 は検索で見つかる remember_open_files というキーが無い。
hot_exit も真偽値ではない、現行は色々と設定が違っているようだ。
で、create_window_at_startup は名前のとおりな macOS 専用設定。
無効にしないと Finder からファイルを開いた時に二つ起動する。
ただランチャから起動だとウインドウが作られない、即 command+n する。
もっといい方法があるかもだけど。

後はお好みで、筆者はできるだけデフォルトで使いたい派。

次はプラグイン作成。
Sublime Text 3でプラグインを作るメモ – Qiita

Sublime Text 内蔵 Python は 3.3 なのか。
subplocess.run や html モジュールが使えない、ちと面倒。
これも一つにつき一ファイルづつ、まるで Linux だな。

import sublime, sublime_plugin

class HtmlEscapeCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        sel = self.view.sel()
        for region in sel:
            src = self.view.substr(region)
            dst = ''
            for s in src:
                if s == '>':
                    dst += '>'
                elif s == '<':
                    dst += '&lt;'
                elif s == '&':
                    dst += '&amp;'
                else:
                    dst += s
            self.view.replace(edit, region, dst)

とりあえず html_escape プラグインを作ってみた。
こんなブログをやっていると絶対に必要になるからね。
てか上記で早速使ったわ。

import sublime, sublime_plugin, os, subprocess

class OpenTerminalCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        path = os.path.dirname(self.view.file_name())
        subprocess.Popen(['open', '-a', 'Terminal', path])

もう一つ、編集ファイル位置から Terminal.app 起動。
他のカスタムはスニペットでなんとかなるかな。

後は自作スニペットの登録とキーカスタムだね。
長くなってしまうので今日はココまで。
最後に。

kawasemi

今日は五条川にいました。