emacs

Org-rifle

学会続きで,久方ぶりの更新である.org fileの中を検索する際に,Swiper, ivy, avy, migemoによるEmacsの検索強化で取り上げた swiper を,もっぱら使用しているのだが,そうすると,ファイル内のどこにいるのかが分からなくなることがある.検索ファイルのパスなどがorg fileの中で分かる検索ソフトはないものかと探したところ,このorg-rifleが見つかった.

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 (Part2)

前回(How to update hugo and academic theme (Part 1))にhutoとacademicのアップデートをまとめたが,やはり,githubにdeployするときのエラーが,どうしても気になる.そこで,今回は,Academic themeのインストールを一からやり直すことにした. Hugoとox-hugoのインストールやアップデートは前回の記事(How to update hugo and academic theme (Part 1))を参考にしていただきたい. <!–more–> Table of Contents References Install Academic Kickstart with Git Migrate Content References Install Academicご本家の解説 Update Academicご本家の解説 Install Academic Kickstart with Git やはり,公式ドキュメントに従うのが良いだろうと考え,上記のリンク先のInstallの解説の通りにしてみた.git submoduleを使うので,よく分からんと敬遠していたのだが,やってみると(作業自体は)簡単であった. Git submodule の基礎 によれば,「git submodule は、外部の git リポジトリを、自分の git リポジトリのサブディレクトリとして登録し、特定の commit を参照する仕組み」である. 1. まず,Academic Kickstart repository を自分のウェブサイトを作るためにクローンする. {{% alert note %}} またも間違っていた.上述の公式ドキュメントにはちゃんと,Fork the Academic Kickstart repository to create a new website と書いてあったのに読み過ごしていた. {{% /alert %}} ということで,まず,academic-kickstart に行って,右上の Fork ボタンを押して,自分のgithub pageにacademic-kickstartのrepositoryを作成する. ついで,この自分のgithub pageのforkをgit cloneで自分のサイトにクローンする. $ pwd /Data/MyBlog $ git clone https://github.

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は適切なものを選ばないと巨大なデータを検索することになってしまうので注意が必要である. 個人的には,swiperでほぼ事足りているのだが,大きなプロジェクト内の複数のファイルを一気に検索する必要がある人には非常に有益なツールだと思う. 2019年6月2日追記 上記のように自分にはあまり役に立たないようなことを書いたが,早速,deadgrepが役に立ったので追記しておく.hyperestraierで全文検索をしようとして,H@estfxpdftohtml というコマンドを使おうとしたのだが,うまくいかず,その原因を探るために,/usr/local/で,H@estfxpdftohtmlをSearch termとして,deadgrepを下の画像のように走らせてみたところ,下側のバッファにあるように,一発で原因が判明してしまった.要するに,xpdfが必要ということであった.なるほど,こういう風に使うのかと納得した. なお,全文検索については,いずれ別の機会にまとめてみたい.