emacs

How to update hugo and academic theme (Part3)

先日,ブログのアップデートについて2回に分けてまとめたが(How to update hugo and academic theme (Part1), How to update hugo and academic theme (Part2)),読み直してみるとhugoとacademic themeの全体的なアップデートのことで終わっていて,具体的な内容のアップデートについてはあまり書いていないことに気がついた.そこで,今回はその辺の細かいところについて,後日の自分のためにも,まとめておくことにした.今回の内容に関しては,ox-hugoのレベル,つまり,org-mode file ではどうすれば良いのか分からず,直接マークダウンファイルを弄らざるを得ない事が多かった.

Treemacs and Projectile

MacのFinderに相当するのは,EmacsではDiredであろう.しかし,なにかのプロジェクトに関わる文書群を管理するということになると,Diredでは力不足である.というか目的が違う.これにぴったりなのが,treemacsであり,そのバックボーンになるのが,Projectileである.これらは,プログラマーでもない自分には必要ないものと思っていたのだが,このblogを書くのに使用しているHugoとそのテーマであるacademicをアップデートする際に,非常に役に立ったので,いまだによく分かっていない自分自身のために書き留めておく.

How to update hugo and academic theme (Part 1)

最近のニュースを見ていて思い出した言葉がある. “True patriotism hates injustice in its own land more than anywhere else.” ― Clarence Darrow “Patriotism is the last refuge of a scoundrel.” ― Samuel Johnson “Violence is the last refuge of the incompetent.”” ― Salvor Hardin ( Isaac Asimov) 3番目はオマケ 閑話休題,以前の記事(How to add horizontal scrollbar for codeblock in academic theme of hugo)で触れたように,このブログは,Hugoという静的サイトジェネレーター(themeはacademic)で作成している.

Emacsでpdfを読む (pdf-tools) (2019.07.17追記)

Emacsでpdf文書を読もうとするとdefaultではDocViewで読むことになるが,解像度がイマイチで動きもややモッサリとしていて使い勝手が悪かったため,サクッと止めて,skimを使っている.ただ,pdf-toolsというのがあって,こちらは割とスグレモノらしいとの噂は聞いていた.そこで,今回はこれを試してみることにした.

mojaveのライブ変換で快適日本語入力(カーソルの色も日英で変わるように設定)

最初にmacosにライブ変換が登場した時に使用してみて,これは駄目だとすぐにGoogle inputmethodに戻してしまった.今年の5月にmojaveにupgradeしたのち,ある日,ふと思い立って,ライブ変換を試してみたところ,ほとんどストレスを感じることなくスラスラと入力ができた.ほとんど変換のためにスペースキーを叩く必要がないことに驚いた.予測の精度が登場時よりはるかに改良されているのであろう.エンドユーザーにはありがたいことである.早速乗り換えてしまった.

Symbol Overlay (Highlight symbols at cursor point with keymap-enabled overlays in Emacs)

今回は(も?),redditで拾ってきたネタ(How to highlight occurences at cursor point in Emacs).カーソルの位置にあるシンボル(単語と思えば良い)をバッファ内ですべてハイライトしてくれるEmacsのパッケージを訊いているのだが,いくつか答えがあって,一番便利そうだったのが,今回紹介する symbol-overlay である.

Gleanings (display-line-numbers, whitespace-mode, accessibility of iTerm2, etc)

前回久しぶりに記事を投稿したが,しばらく更新していない間に,いくつか細かな環境修正が必要であったので,落ち穂拾いとしてまとめておく.

Deadgrep

次世代grepで最速と言われるripgrepをバックエンドとするEmacs用検索ツールであるdeadgrepをインストールしてみた. Table of Contents Ref Install How to use 2019年6月2日追記 Ref deadgrep: use ripgrep from Emacs ご本家 複雑になった時使うツール とても勉強になるサイト,こちらを読めば本サイトは読まなくても良いような... Install まず,バックエンドのripgrepをインストールする.brewを使えば簡単である. $ brew install ripgrep ついで,以下のようにinit.orgに書き込んでMRLPAからdeadgrep.elをインストールする.f5にキーバインドしておく. #+begin_src emacs-lisp (use-package deadgrep :ensure t :config (global-set-key (kbd "<f5>") #'deadgrep) ) #+end_src How to use 使用方法の詳細はご本家に書いてあるが,f5を叩いて,検索キーワードを入れるだけである.下の画像は,このブログのあるdirectoryで,「検索」をキーワードとしてdeadgrepを走らせたところである.defaultでdirectory内を再帰的に検索する.キーワードは青くハイライトされており,左端の数字はその文書での行番号である. o を叩くと下のバッファに該当箇所にカーソルがある状態でその文書が開く. C-c C-k で検索を止めることができる.また,swiperとの併用も可能である. 一番上のSearch termの行のchangeにカーソルを持っていってReturnすると,Minibufferで検索語を変更できる.その下にあるSearch type, Case, Context, Directory, Filesも同様に条件を変更できる.とくに,Directoryは適切なものを選ばないと巨大なデータを検索することになってしまうので注意が必要である.

Upgrade to Mojave and upgrade to Emacs 26.2 by homebrew

世はゴールデンウィークまっただ中である.完全な10連休ではないが,それなりに長い休みとなるので,この機会に,ようやく Sierraから Mojave にupgradeすることにした.ついでにEmacsも26.1から 26.2にupgradeした.今回は,このupgradeの際に遭遇したトラブルについてまとめる. Table of Contents Upgrade to Mojave from Sierra Upgrade to Xcode 10.2.1 Upgrade to Emacs 26.2 from 26.1 LaTeX pdfにフォントが埋め込まれているかどうかを確認する方法 感想 Upgrade to Mojave from Sierra Ref: macOS Mojave にアップグレードする方法 結論から言うと,拍子抜けするぐらい簡単であった.AppStoreで適当にクリックするとすぐにMojaveがダウンロードされて,インストーラーが起動した.これをクリックしてインストールを始めると,此処から先は完全自動状態で,ひたすら待った.というか,違うことをしていた.何回も再起動していたようだが,実際には1時間ぐらいで終了したような気がする.手間いらずであった.R, Rstudio, ImageJ, Emacs, LaTeXが動いて画像編集,動画編集ができれば,とりあえず文句はないので,まずそのあたりをチェックしてみると,R, Rstudio, ImageJ, 画像編集,動画編集は問題なく動いた.EmacsとLaTeXについては以下に述べる. Upgrade to Xcode 10.2.1 早速brewでemacsをupgradeしようとしたのだが,xcodeが古いと叱られたので,まず,xcodeをApp Storeからupgradeした.そして brew install すると以下のようなエラーが出る. $ brew install hogehoge ......... xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun これは,「macOS を Mojave にあげた後に Homebrew を使うとエラーが出る問題」にあるようにcommand line developer toolsを再インストールすれば直る.同サイトに詳細が記載されている.

peep-diredで画像をチラ見して,orgファイルに簡単にリンクを貼り付ける(おまけ:最近開けたdirectoryを一覧表示する方法)

最近Rネタばかり書いていたが,今回は久しぶりのEmacsネタである.org-modeで文書を書いているときに画像を貼り付けたいことがある.そのためには画像ファイルの名前とパスが必要となる.要するに毎回画像ファイルのパスを調べて/hoge/fuga/hogefuga/hugo.jpgというようなことをタイプしなければならず面倒である.そこで,peep-diredの出番である.peep-diredとは,diredでファイルにカーソルを持っていくと中身が見える,すなわち,画像ファイルなら画像が見え,テキストファイルならテキストが読めるというminor modeである.これが画像リンクの貼り付けに便利なのでまとめておく. Table of Contents References peep-diredのインストールと設定 peep-diredの使い方 bjm/ivy-dired-recent-dirs - 最近開けたdirectoryを一覧表示する方法(おまけ) References peep-dired QUICKLY PREVIEW IMAGES AND OTHER FILES WITH PEEP-DIRED peep-diredのインストールと設定 例によって,use-packagを用いて以下のように,init.orgに書けばよい. #+begin_src emacs-lisp (use-package peep-dired :ensure t :defer t ; don't access `dired-mode-map' until `peep-dired' is loaded :bind (:map dired-mode-map ("P" . peep-dired))) #+end_src 設定は上記参照サイトのパクリで,diredで”P”を打つとpeep-dired modeとなってdiredのリストの画像ファイルが見られるようになり,もう一度”P”と打つとpeep-dired modeは終了する. peep-diredの使い方 File viewerとしてだけなら,どうということはないのだが,org-modeと組み合わせて使うと便利さが増す.たとえば,下図のように画像をおいているdirectoryをdiredで開いて”P”を打ってpeep-dired modeに入り,画像を確かめながら文書に挿入する画像を決める.上段のdiredのバッファにおいてIMG_1996.jpgにカーソルがあり,下段のバッファにその画像が表示されている.画像が決まったらその画像ファイルにカーソルが合っていることを確認した上で,C-c lを打つ.これで,画像へのリンクがフルパスも含めてコピーされる. ついで,org-mode文書内の画像を挿入したいところにカーソルを持って行き,そこで,C-c C-lとすると,下部に新たなorg-insert-linkのウィンドウが開いて下図のように先程コピーしたリンクが一番上にフルパスでハイライトされて表示される.ここでリターンすればフルパスのリンクがorg-mode文書内に挿入される. 文章で説明すると複雑だが,実際にやってみると実に簡単で有用である.このやり方に気がつくまでは,いちいちフルパスを手入力したり,コピペしたりしていたが,その必要がなくなり非常に楽になった.