モダンなリスト操作ライブラリdash-el、dash-functional-elのインストールと設定

dash-elとは

Emacs Lispでリストを操作するライブラリです。
map,slice,copy,concat,replace,reduce,unionなど他言語で一般的な機能を提供します。

dash-functional-elとは

Emacs Lispのための関数コンビネータ集です。
一定の関数プログラミング技術を使えるようにするコンビネータを含んでいます。

インストール環境とソフトウェアのバージョン

  • OS:Debian Bullseye(testing)
  • dash-el:elpa-dash(2.17.0+dfsg-1)
  • dash-functional-el:elpa-dash-functional(1.2.0+dfsg-6)

インストール

apt install elpa-dash
apt install elpa-dash-functional

使い方

ファイルのトップに次のように書きます。

;; Package-Requires: ((dash "2.17.0") (dash-functional "1.2.0") (emacs "24"))

dash関数をシンタックスハイライトする

設定ファイルに次のように書きます。

(eval-after-load 'dash '(dash-enable-font-lock))

リンク

「/usr/share/doc/elpa-dash-functional/README.md.gz」

GitHub – magnars/dash.el: A modern list library for Emacs

Emacsで統計解析言語Rを使うためのパッケージESSのインストールと設定

ESS(Emacs Speaks Statistics)とは

Emacsで統計プログラミングやデータ分析をするためのモードです。
ここでは、統計解析言語Rを利用するための設定を行います。

インストール環境とソフトウェアのバージョン

  • OS:Debian Bullseye(testing)
  • ess:elpa-ess(18.10.2-1)

インストール

apt-get install elpa-ess

Emacsを再起動後、「M-x ess-version」とコマンドを打ち、バージョンが出てくるか確認します。

起動方法

「M-x R RET」と打つと、ワークディレクトリを入力するようにうながされるので入力します。

ESSの起動画面

develock-elのインストールと設定

develock-elとは

開発者のためにバッファ内のキーワードを目立たせるフォントロックを加えるマイナーモードです。

インストール環境とソフトウェアのバージョン

  • OS:Debian Buster(testing)
  • DebianでのEmacsパッケージ名:emacs-gtk(Version: 1:26.1+1-3.2)
  • Debianでのdevelock-elのパッケージ名:develock-el(0.47-3)

インストール

apt-get install develock-el

設定

設定ファイル’/etc/emacs/site-start.d/50develock-el.el’によって、対応するすべてのモードで有効になるので特に設定は必要ありません。

Rich-minority-modeのインストールと設定

Rich-minority-modeとは

モードラインでマイナーモードのリストを隠したり、ハイライトしたりするために使われます。

インストール環境とソフトウェアのバージョン

  • OS:Debian Buster(testing)
  • DebianでのEmacsパッケージ名:emacs-gtk(Version:1:26.1+1-3.2)
  • DebianでのRich-minority-modeのパッケージ名:elpa-rich-minority(1.0.2-2)

インストール

apt-get install elpa-rich-minority

設定

.emacsに

(rich-minority-mode 1) 

と書きます。

magitのインストールと設定

magitとは

GitのためのEmacsインターフェースです。

インストール環境とソフトウェアのバージョン

OS:Debian Buster(testing)

Emacs Package:emacs-gtk(Version: 1:26.1+1-3.2)

elpa-magit:2.90.1-2


インストール

apt-get install elpa-magit

設定

キーバインド

(global-set-key (kbd "C-x g") 'magit-status)

チートシート

よく使うコマンドとmagitとの対応を以下に記します。

リモートリポジトリにファイルをプッシュする

コマンドライン

$ git push -u origin master

magitのコマンド 大文字P(push)のつぎに小文字p


discover-my-majorのインストールと設定

1 discover-my-majorとは

discover key bindings and their meaning for the current Emacs major mode
Discover key bindings and descriptions for commands defined by a buffer’s
major and minor modes. The command is inspired by discover.el and also uses
the makey library. The output is pretty bare bones and not optimized but it
seems to work already quite well for most modes.

現在のEmacsメジャーモードのキーバイディングとその意味を見つけるelispソフトです。

2 インストール環境とソフトウェアのバージョン

OS:Debian Buster(testing)
Emacs Package:emacs-gtk(Version: 1:25.2+1-11)
elpa-discover-my-major:1.0-2

3 インストール

apt-get install elpa-discover-my-major

4 設定

`C-h C-m`が他のソフトのキーバインディングで上書き

されないように設定ファイルに以下の内容を追加します。

(global-set-key (kbd "C-h M-m") 'discover-my-major)
(global-set-key (kbd "C-h M-S-M") 'discover-my-mode)

5 スクリーンショット

6 参考文献

‘/usr/share/doc/elpa-discover-my-major/README.md’ファイル

zenburn-themeのインストールと設定

1 zenburn-themeとは

low contrast color theme for Emacs
A port of the popular Vim theme Zenburn for Emacs, built using the
new built-in theme support in Emacs 24.
.
Zenburn is designed to minimise eye strain during long periods of work.

Emacs用低コントラストカラーテーマです。Vimから移植されたテーマで長時間の仕事でも目の疲れを最小にするようデザインされています。

2 インストール環境とソフトウェアのバージョン

OS:Debian Buster(testing)
Emacs Package:emacs-gtk(Version: 1:25.2+1-11)
elpa-zenburn-theme:2.6-1

3 インストール

apt-get install elpa-zenburn-theme

4 設定

設定ファイルに以下の内容を追加します。

(package-initialize)
(load-theme 'zenburn t)

5 スクリーンショット

6 参考文献

‘/usr/share/doc/elpa-zenburn-theme/README.Debian’ファイル

pyhon-modeのインストールと設定

1 概要

python-modeはPythonプログラムを編集、デバッグ、開発するEmacsのメジャーモードです。

2 環境

文書作成時のOS,ソフトウェアのバージョンは以下のとうりです。

OS:Debian buster(testing)
Emacs:25.2.2
pyhton3.7:3.7.0-1
python-mode:6.2.3-1

3 インストール

apt-get install python-mode

4 設定

4.1 python-mode

autoloadの設定は’/etc/emacs/site-start.d/50python-mode.el’でされているので各自の設定は不要です。

4.2 doctest-mode

autoloadの設定は’/etc/emacs/site-start.d/50python-mode.el’でされているので各自の設定は不要です。

4.3 company-pycomplete

補完入力はcompanyを使っているので

‘/usr/share/emacs/site-lisp/python-mode/completion/company-pycomplete.el’のCommentaryを参考に

(add-hook 'python-mode-hook
          '(lambda()
             (setq company-backends '((company-pycomplete)))
             )
          )

のように設定しました。

これは、python-modeのときだけ、companyのバックエンドをcompany-pycompleteに変更します。

4.4 pycomplete.py

‘/usr/share/pyshared/pycomplete.py’は

if sys.version_info[0] >= 3: # Python 3
    import io
else: # Python 2
    import StringIO

のように、Pythonのバージョンをチェックします。

よって、以下のようにして、自分が使うpythonのバージョンを最新の3.7にしました。

cd ~/bin
ln -s python3 python
ln -s /usr/bin/python3.7 python3

これは、’.bashrc’に

if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

のような設定をしているため、’~/bin/python’をシステムの’/usr/bin/python’より優先してくれます。

5 カスタマイズ

5.1 python-mode

5.1.1 py-highlight-error-source-p

カスタマイズ変数’py-highlight-error-source-p(Default:nil)’を’t’に変更しました。

When py-execute-… commands raise an error, respective code in source-buffer will be highlighted. Default is nil.
M-x `py-remove-overlays-at-point’ removes that highlighting.

5.1.2 py-company-pycomplete-p

カスタマイズ変数’py-company-pycomplete-p(Default:nil)’をtに変更しました。

Load company-pycomplete stuff. Default is nil

5.1.3 py-tab-indents-region-p

カスタマイズ変数’py-tab-indents-region-p(Default:nil)’をtに変更しました。

When `t’ and first TAB doesn’t shift, indent-region is called.

5.1.4 py-verbose-p

カスタマイズ変数’py-verbose-p(Default:nil)’をtに変更しました。

If functions should report results.

シンタックスチェッカーflycheckのインストールと設定

1 概要

各種プログラミング言語の文法チェッカーflycheckをインストールし設定します。

2 インストール環境とソフトウェアのバージョン

文書作成時のOS,ソフトウェアのバージョンは以下のとうりです。

OS:Debian buster(testing)
Emacs:25.2.2
elpa-flycheck:31-1

3 flycheck

3.1 インストール

flycheckはelpa-flycheckというパッケージになっているのでこれをインストールします。また、ドキュメントflycheck-docもインストールします。

apt-get install elpa-flycheck flycheck-doc

3.2 設定

‘/usr/share/emacs/site-lisp/elpa-src/flycheck-31/flycheck.el’ のSetup欄より

設定ファイルに

(add-hook 'after-init-hook #'global-flycheck-mode)

と書きます。

また、’/usr/share/doc/elpa-flycheck/html/user/installation.html’にはuse-packageを使った設定が書いてあります。

(use-package flycheck
  :ensure t
  :init (global-flycheck-mode))

と書きます。

どちらか一方を書けばよいです。

あとは、’/usr/share/doc/elpa-flycheck/html/languages.html’を見ながら各言語に必要なソフトを入れていきます。

4 Go言語

例としてGo言語のflycheckの設定をしてみます。

具体的には’/usr/share/doc/elpa-flycheck/html/languages.html’のGo言語の欄の1〜3のgo-gofmt、go-golint、go-vetを設定します。

コマンド’gofmt’,’go vet’はgolang-goパッケージをインストールしたときに一緒に入っています。別途golintをインストールします。

apt-get install golint

3欄’go-vet’はカスタマイズ変数flycheck-go-vet-print-functions、flycheck-go-vet-shadow、flycheck-go-build-tagsでカスタマイズできます。

しかし、すべてデフォルトのnil(無効)でよかったので設定ファイルに追加の設定はしていません。

use-packageのインストールと設定

1 概要

use-packageは.emacsを簡単にするelispパッケージです。

2 インストール環境とソフトウェアのバージョン

文書作成時のOS,ソフトウェアのバージョンは以下のとうりです。

OS:Debian buster(testing)
Emacs:25.2.2
elpa-use-package:2.3+repack-2

3 インストール

Debianでは’elpa-use-package’というパッケージになっているので、これをインストールします。

apt-get install elpa-use-package

4 設定

設定ファイルに

(require 'use-package)

と書きます。