2021年4月29日木曜日

Mac のEmacsの整備

いつからかescやc-s, c-rでimeが英語モードに戻らなくなってしまって、非常に使いにくくなっていたのを なんとか解決。
  • ESC はメタのプレフィックスとして手癖で使ってしまう。これは、karabinar-element で解決 ESC to ABCというのを入れた。
  • サーチの方は下のように、キーバインドを置き換える関数を作って解決。 もっといい方法はありそうだけど、とりあえず、これで使ってみよう。
    (defun insert_revert (key)
      (setq v (lookup-key (current-global-map) key))
      (global-set-key key (lambda ()
    			(interactive)
    			(mac-select-input-source "com.apple.keylayout.ABC")
    			(funcall v))))
    (insert_revert "\C-s")
    (insert_revert "\C-r")
    
  • 2021年3月26日金曜日

    gnupgの共有暗号化を簡単な感じでつかう

    カジュアルに暗号化をつかう。
    % echo "to be encrypted" | gpg -c | base64
    jA0EBwMCEtjToibU+8/o0kUBCb+uV9LvpwbT3vgF0AHb5hDoRhzbAadsGrgGSbW8uiqPOh2xc7EDRfKQmtNtM9e4f2xTu3AaGTystWDTx68FsSCff0Q=
    
    % echo jA0EBwMCEtjToibU+8/o0kUBCb+uV9LvpwbT3v... | base64 -d | gpg -d -q -o -
    to be encrypted
    
    という感じ。

    2021年3月4日木曜日

    jupyter notebook から pythonコードへ変換

    jupyter notebookで開発したものをpythonコードに変換する方法。 jupyter nbconvert というコマンドを使う。これは万能ツールでPDFなどにも変換できる。

    このコマンドを外部コマンドとして実行するのは何かと不便なので、セルから実行するとよい。 その際、普通に書いておくと、変換コマンド自信が変換されたpython コードに入ってしまう。 そこで、下のようにオプションをつける。すると、#exclude_from_py というコメントが入ったセルは 変換されたものから削除される。で、変換するセル自体にもこのコメントをつけておけばいい。

    #exclude_from_py  
    !jupyter nbconvert --RegexRemovePreprocessor.patterns="['#exclude_from_py']"  --to script XXXX.ipynb
    

    2021年1月4日月曜日

    python で空きポートを探す

    localhostで接続待ちできる空いているポートを探す。 要するに、serverportを作ってみて成功したらクローズして返すだけ。
    import socketserver
    
    def find_vacant_port(port_base, trial_count):
        """find vacant port for forwarding, 
        starts with port_base and test at most trial_count ports.
        if it cannot find, it raise OSError"""
        for i in range(trial_count):
            try:
                ss = socketserver.TCPServer(('127.0.0.1', port_base + i), None)
                # found one
                ss.server_close()
                return port_base + i
            except OSError:
                pass
        raise OSError("cannot find vacant port")
    

    2020年12月14日月曜日

    古いトラックパッドを新しいmacbookでつかう

    最近のmacのドラッグ操作はデフォルトで押し込んでドラッグになっているが、古いトラックパッドではこれが使えない。3本指ドラッグの操作が、設定パネルのトラックパッドの部分にはなぜかない。

    調べてみたらアクセシビリティのところにあった。。トラックパッドのところにも出してほしかった。。

    2020年7月27日月曜日

    emacs epg 設定

    何が悪いのかわからないが、emacs のepgがうまく動かなくなっていた。minibufferでpassphraseを入力する部分がおかしくなるといういつもの症状。いろいろ調べて何故かコメントアウトされていた
        (setf epa-pinentry-mode 'loopback)
    
    を有効にしたら動いた。っていうかなぜこれまでこれがなくて動いていたのだ。何もわからん。

    2020年7月25日土曜日

    emacs build

    なんか、space-emmacsがおかしくなったので、emacsをバージョンアップしてみた。26.3。 https://mac-ra.com/mac-emacs-2020/ の手順。自己署名もしてみた。スクリプト通りにやるだけ。ありがたい。 ちがった。こちらの手順だ brew caskとかも試してみたけど、mini-bufferに入ったときに英語モードに戻る関数がつかえない。