2024年5月2日木曜日

Eamcs セットアップメモ

最終更新: 2026-07-10

新規に Emacs を自分の環境ファイルを使ってセットアップする機会があったので、その時のメモを備忘録として残しておく

前準備

MSYS2 のインストール

なくても動くけど、結局grepとかがないと不便なので…

本家のページ よりダウンロードしてインストール

emacs をインストール

本体

本家のページ よりダウンロードしてインストール

環境ファイル

My GitHub より取得

  • ssh 経由で clone する
    $ git clone git@github.com:toastedlaver/.emacs.d.git
  • または ZIP ダウンロード

追加パッケージをインストール

emacs 起動して、エラー出る箇所を見ながら下記をインストールしていく

package-install で導入

パッケージ 概要 補足
migemo ローマ字日本語検索
ddskk 日本語入力
bf-mode dired でファイルの中身を表示
color-moccur 検索 grep/ripgrep などが使えない環境 (Windows native とか) のため
recentf-ext recentf でディレクトリも保存 helm を動かすために必要
helm 本体 検索 (require 'helm-config) ではなく (require 'helm) になったようだ
helm-gtags
helm-swoop 検索画面を編集して元ファイルに反映
helm-ag ag で helm インターフェースを使う 設定すれば grep/ripgrep も使える
shell-toggle
session kill-ring やミニバッファ入力、開いたファイルなどの履歴を保存
magit git I/F

パッケージ管理外

elisp 概要 DL メモ
sorter.el dired でファイルのソートを拡張 オリジナルのファイルが所在不明
w32-symlinks.el dired で Win のショートカットを処理 EmacsWiki
dabbrev-highlight.el dabbrev 展開時に色つけ オリジナルの改良版
dabbrev-ja.el dabbrev を日本語に対応 コード dabbrev-highlight のページ → 追加設定
cygwin-mount.el cygwin形式のパスを扱えるようにする EmacsWiki Cygwin や MSYS2 等の一部コマンドは UNIX 形式パスしか処理できないので必要
psvn Subversion I/F EmacsWiki もうコードがメンテされてなさそうなので、 package-install できる dsvn に変えた方が良いかも

その他

for migemo

  • 実行ファイル cmigemo
    • Windows では他のアプリでも使うので %USERPROFILE%\AppData\Local\cmigemo に入れている
    • Linux なら普通に make → make install
    • migemo-dictionary 等の値を環境に合わせ設定
      • 辞書の文字コードは UTF-8 (もう SJIS とか使わんでいいやろw)

for ddskk

  • L 辞書は github からダウンロードして .emacs.d/etc/skk に入れる
    • Win 環境では SKKFEP の L 辞書と共有しようと画策したが、文字コードが違うので諦める

2021年12月7日火曜日

mintty で全角文字の一部が重なって表示される

mintty で文字コードを UTF-8 にすると、一部の記号が下記の様に重なったり欠けたように表示される。

調べてみると、 Unicode で規定されている East Asian Width で Ambiguous(曖昧) に属す文字は半角表示するようになってるらしい。

ここを参考にして mintty のオプションにある「文字セット」を「UTF-8@cjkwide」に設定した後、ターミナルを再起動したら解決した。
※GUI のオプション画面でも、 .minttyrc を直接設定しても OK

他にも East Asian Width 関係には、他にもフォントやソフトが規定を守ってない問題などがあるらしい…

2021年11月1日月曜日

png に日付情報 (Exif) を追加

 スマホのあるアプリで撮ったスクショ (PNG) を Amazon Photo に上げると「日付なし」となって日付で整理できない。

ファイル名にスクショしたタイムスタンプが使われているようなので、これを exiftool で撮影日として登録するスクリプトを書いてみた。

#!/usr/bin/ruby

ARGV.each do |arg|
  /([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/.match(arg)
  year = $1
  month = $2
  day = $3
  hour = $4
  minuite = $5
  sec = $6
  puts "#{year}/#{month}/#{day} #{hour}:#{minuite}:#{sec} <- #{arg}"
  system("exiftool -DateTimeOriginal=\"#{year}/#{month}/#{day} #{hour}:#{minuite}:#{sec} JST\" #{arg}")
end

2020年5月8日金曜日

shell-toggle で ansi-term が立ち上がるようになった

昔からずっと shell-toggle.el を使っていたのだが、最近の版 (少なくとも 1.3.1 以降) に変えると通常の shell モードではなく ansi-term が立ち上がる。
ansi-term はいちいちモードを切り替えないと emacs のキーバインドが使えないので個人的に使い難い。

できれば通常の shell モードが立ち上げるようにしたい。

どうにかならないかと shell-toggle のコードを眺めてたら、どうやら shell-launch-shell を書き換えれば良さげだったので、 init.el に下記を書き込んで解決。
(setq shell-toggle-launch-shell 'shell)

2020年5月6日水曜日

携帯端末の通知を PC に転送する

家でのネットは今も PC を使っている。
携帯だと、画面に出る情報が少なくてストレスが貯まるのだ。

そういうわけで家で PC いじってると、携帯にメッセージや電話が来ても気付かない場合がある。
めんどいのでマナーモード解除しない場合が多々あるんで…💦

そういう場合に使えるアプリを見付けた。

Push Bullet さん

本来は携帯端末や PC にメッセージやファイルを送信するメッセージアプリだが
このアプリの設定に「通知ミラーリング」という項目があって、オンにすると
携帯の通知を PC で見ることができる。


PC 側のブラウザにも拡張機能の Push Bullet を入れたら、端末側の通知が PC でも表示される
携帯端末の通知 PC のデスクトップ通知

複数の端末で Line を共有する

結論 できませんorz
昔は iphone ならできてたんだけどね…

Facebook のアカウント持っていれば、 Facebook 認証を使うことで
電話番号による認証をパスできる (つまり sim なしでも使用可能) が
モバイル版アプリだと、一アカウントにつき一端末でしかログインできない。

つまり携帯A で Line にログインした後、携帯B で Line にログインすると
携帯A 側の Line は使えなくなる。

ただモバイル版でないアプリ
  • PC 版
  • ipad 版
  • Chromebook の chrome ブラウザによるアクセス
と、携帯端末のアプリは両立できる。

共有できないならば、せめて Line のメッセージ通知をもう片側の端末でも
知ることができればいいんだけどなあ…

2019年7月8日月曜日

Android のギャラリーに余計な画像を表示させないようにする

久し振りの投稿

以前から、スマホのギャラリーに
どう見ても特定アプリ用の背景画像やスタンプ、アイコン等が大量に表示されてしまい
SNS にアップしたい写真を探すのが大変なときがあった。

どうにかできないものかと思って調べてみたら、こんな記事を見付けた。
.nomedia ってファイルを置いたディレクトリはギャラリーの検索対象外になるらしい。

一個一個入れてくのは大変だけど…

ちなみに、全部のアプリの画像が出てるわけじゃない。
てゆーか、表示されてる画像の大半が LINE 関連のアプリ。
どーなってんの LINE さん?(#-_-)

2018年7月7日土曜日

HDD 内の画像を一覧表示する

HDD 内の画像を一覧表示する

今までに撮った写真を HDD に貯めているが 整理のため、年月毎にフォルダ分けしてるので、全部の写真を一覧表示できない。

そのためにわざわざアプリを入れるのも何だしなぁ…と思い 自分で作ってみることにした。

と言っても難しいことはできないので、 html を作ってブラウザで見ることにする。

<img="2018/0519.和製ウユニと猫島/IMG_8921.JPG" width="120" height="80">
<img="2018/0519.和製ウユニと猫島/IMG_8922.JPG" width="120" height="80">
<img="2018/0519.和製ウユニと猫島/IMG_8923.JPG" width="120" height="80">
<…>

とか、書いておけばいいだろうw

ということで作ったのがこちら。ファイル一覧とか出すのが簡単なので Bash Script で作成。
調子に乗って、アスペクト比を保持したまま縮小してサムネイル表示する仕組みを入れている。

#!/bin/sh

#長辺がこのサイズに収まるように整形する (縦横比を維持)
lbndry=120

cat <<'HEADER'
<html>
  <meta charset="UTF-8">
  <head>
 <title>写真ビューア</title>
  </head>
  <body>
HEADER

find . -type f -iname "*.jpg" | sort | while read photo
do
 reso=`file "${photo}" | perl -pe 's/.*?([0-9]+x[0-9]+).*/\1/g'`
 width=${reso%%x*}
 height=${reso##*x}
 # 
 if [ "${width}" -gt "${height}" ]; then
  height=$((height*lbndry/width))
  width=${lbndry}
 else
  width=$((width*lbndry/height))
  height=${lbndry}
 fi
 name=`basename "${photo}"`
 echo "<a href=\"${photo}\"><img src=\"${photo}\" alt=\"${name}\" border=\"0\" width=\"${width}\" height=\"${height}\"></a>"
done

cat <<'FOOTER'
  </body>
</html>
FOOTER

実際に動かしてみたのだが…。 html 作成にかかった時間は 10分程度。 まあ、 JPEG ファイルが 33000 程度あるからそんなもんか?
※一つずつ写真の解像度調べてるからなぁ…。アスペクト比計算をなくせばもっと速くなるだろうが。

ただ、実際にブラウザで表示させたら 表示が遅すぎて使えないw
やっぱり、ちゃんと サムネイルファイル 作らなきゃダメか…。(´・ω・`)

Author: ozawa

Created: 2018-07-07 土 17:38

Emacs 24.5.1 (Org mode 8.2.10)

Validate

2017年11月27日月曜日

外付けHDDの「ごみ箱」を無効にする

外付け HDD の容量がいっぱいになったので、不要ファイルを消したのだが HDD の残り容量が増えない。

よく見てみると、消したファイルがごみ箱に残っている。
あれ?今まで外付け HDD にごみ箱なんてあったっけ?

調べてみると Windows Vista 辺りから、どうやら外付け HDD にも自動で「ごみ箱」が作られるようになったようだ。(それより前はユーザーが作成しないとできない)

とりあえず、ごみ箱を空にすると残り容量が増えてめでたしめでたしになったのだが
そのことをすっかり忘れ、また容量が増えずにアレ?てことを何回も繰り返したので
だんだんめんどくさくなってきた。

そもそも、外付け HDD は基本的にデータ退避用なので、正直ごみ箱は不要である。
ということで外付け HDD のごみ箱を無効化する方法を調べてみたが、
ちゃんと説明しているページが見つからなかったので、メモとして残しておく。

手順

  1. デスクトップのごみ箱を右クリックして「プロパティ」を選択
  2. 不要にしたいドライブを選択
  3. 「ごみ箱に移動しないで、削除と同時にファイルを消去する」を選択
  4. 「OK」または「適用」をクリック


2017年9月20日水曜日

Instagram 始めてみました

流行りに便乗して始めてみた。

基本的に Instagram の写真は正方形が基本だが、ヘルプを見ると長方形の画像も投稿できるらしい。

前から疑問に思っていたのだが、 Instagram アプリで撮った写真は最初から正方形だからいいとして、
端末上にある純正カメラアプリで撮った写真や、クラウド (Google Photo) 上の写真 (長方形) を投稿した場合、アップされた画像は正方形になるのか、長方形になるのか?

実際にやって試してみた。

実験1

端末に以下の様な JPEG ファイルを用意して、 Instagram アプリ上で一つずつ投稿

投稿した元画像

16:9 (4096×2304: 端末カメラの解像度) 4:3 (4096×3072: 端末カメラの解像度) 3:2 (5184×3456: 別カメラの解像度)

変換された画像

16:9 (1080×608) 4:3 (1080×810) 3:2 (1080×720)
投稿時にトリミングするかどうか選択できるので、「トリミングしない」を選択すると元のアスペクト比のまま投稿された。

実験2

端末上の JPEG ファイル (実験 1 と同じ) を、 Instagram アプリ上でまとめて投稿

16:9 → 1:1 (1080×1080) 4:3 → 1:1 (1080×1080) 3:2 → 1:1 (864×864)
どうやら、複数画像をまとめて投稿すると勝手にトリミングされるらしい。
何で 3:2 画像だけ 1080pix じゃなくて 864pix にされたんだろう…?

実験3

Google Photo 上に以下の画像を準備し、 Google Photo アプリから一つずつ Instagram アプリに共有

投稿した元画像

16:9 (4096×2304: 端末カメラの解像度) 4:3 (4096×3072: 端末カメラの解像度) 3:2 (4898×2304: 別カメラの解像度)

変換された画像

16:9 (1080×610) 4:3 (1080×810) 3:2 (1080×720)
他アプリからの共有でも、一つずつならばトリミングするかどうかが選択できる。

実験4

Google Photo 上の画像 (実験3 と同じ) を、まとめて Instagram アプリに共有

確認できず。どうやら Instagram アプリは複数画像の共有に対応していないらしい…orz

結論

複数の画像をアップロードする場合に元画像のアスペクト比を保持するには他の専用アプリが必要。
ちょっと調べたら、下記のアプリが有名らしい。

補足

今回、 Instergram にアップした画像の解像度を調べたのだが
Instagram に投稿した画像ダウンロードできないという衝撃の事実を知った。
専用のアプリか Web サービスを利用すればダウンロードできるらしいが…。

仕方ないので、投稿を Facebook とシェアして、 Facebook 側からダウンロードした。

しかし…複数画像の投稿には癖あるわ、自分で投稿した画像であってもダウンロードできないわで
正直言って使い難いぞ、このアプリ。 (と言うかサービス自体)
何でこんなのが流行ってんだろう…???

ちなみに、テストでアップロードした画像は全て削除したけど、
シェアされた Facebook 側の画像は削除されませんでした。
使うときは気を付けなきゃ。
#やっぱり使い難いぞ…

2017年9月14日木曜日

水中用にマクロレンズが欲しい件

今年の 6 月末に発売された EF-S35mm F2.8 Macro IS STM が欲しい。

いや、マクロレンズは EF100mm F2.8L Macro IS USM を持ってるんだが
水中だとレンズ交換ができないので、小さな動物しか撮れない。

狙う生物がはっきりしている場合はいいのだが、
何が見れるのかわからない時なんかも多々あるので
35mm 換算で 56mm という標準レンズ並みの画角であるこのレンズなら
ちょっと大きめの生物や人なんかも撮れるんじゃ、と思ったわけ。

ただ、焦点距離が短くなるとワーキングディスタンスが短くなるので
手持ちのレンズポートで最短撮影距離まで寄れるか心配になった。

ということで、ちょっとシミュレートしてみよう。

レンズのサイズはメーカーのページを見ればわかるので
ワーキングディスタンスを計算しようとしたが…
何だ、カタログに 30mm って書いてあるじゃん。

後はハウジングにカメラをセットし、必要なサイズを計測してみたところ
ハウジングとポートとカメラの概略図(数字は mm)
という結果になった。

…あれ?レンズ先端からポート先端まで 30mm を越えてるぞ!?

てことは、等倍撮影はできないってことか…orz

ま、いっかw
等倍にこだわるなら 100mm 使えばいいし。

ちなみに、ハウジングの外からピントリングを回すためのギアも存在しないので
特注ギアを作る必要があるけど、既存のギアと値段さほど変らないので
作ってもいいかな、って思ってたり。

…やっぱり、欲しいわコレ。買っちゃおうかなぁ~。


悪魔の声: 欲しいんだろ?買え…。買ってしまえ!!
天使の声: ダメよ。壊れかけの洗濯機が先でしょ!?

ヽ(__ __|||)…


※注: 図の数値はものさしで適当に測っただけなので、誤差がかなりあると思われます。
参考程度にして下さい。

Windowsで絵文字入力

PC でインスタや LINE をする時、ちょっと困るのが絵文字の入力。 携帯気分で専用キーボードを開いてお手軽に…とはいかない。 仕事で Teams のチャットをする時は、チャット自体に絵文字キーボードがついてるが、 LINEのそれは独自文字だし、インスタに至っては機能すらない。...