2022年6月1日水曜日

Emacsのホワイトスペースモード(whitespace-mode)の表示の設定

設定方法

whitespaceモードの有効化

(global-whitespace-mode 1) としても良いですが、dired, magit, ibufferやmanualなど読むだけの
ものに対して適用されると煩わしいのでバッファのモードを選択して適用したほうが使いやすいです。以下のWebページが参考になります。

  1. https://emacs.stackexchange.com/questions/40622/disable-whitespace-mode-for-single-mode
  2. https://emacs.stackexchange.com/questions/4229/only-enable-whitespace-mode-in-certain-buffers

Faceの設定

  1. M-x aproposと入力してEnterを押します
  2. whitespace-style と入力して User option にフォーカスを当ててEnterを押します
  3. customize をフォーカスを当ててEnterを押します
  4. 好きに設定後、C-xC-s を押して設定を保存します

以下が現状の個人的なおすすめの設定です。

[X] (Face) Face visualization
# 行末のスペースはmarkdownで改行ををする(こともある)ので表示
[X] (Face) Trailing TABs, SPACEs and HARD SPACEs
# TABは特別な時にしか使わないので強調する
[X] (Face) TABs
# 文字間のスペースは冗長なので不要
[ ] (Face) SPACEs and HARD SPACEs
[X] (Face) Lines
[ ] (Face) Lines, only overlong part
[X] (Face) NEWLINEs
[X] (Face) Missing newlines at EOB
[X] (Face) Empty Lines At BOB And/Or EOB
[ ] (Face) Indentation SPACEs
# TABでのインデントは特別な時にしか使わないので強調する
[X] (Face) Indentation TABs
# TABでのインデントは特別な時にしか使わないので強調する
[X] (Face) Indentation TABs or SPACEs
[X] (Face) Too much line indentation
# スペースとTABの混在を出す
[X] (Face) SPACEs after TAB: SPACEs
[X] (Face) SPACEs after TAB: TABs
[X] (Face) SPACEs after TAB
[ ] (Face) SPACEs before TAB: SPACEs
[ ] (Face) SPACEs before TAB: TABs
[X] (Face) SPACEs before TAB
# 文字間のスペースは冗長なので不要
[ ] (Mark) SPACEs and HARD SPACEs
# TABは特別な時にしか使わないので強調する
[X] (Mark) TABs
# TABは特別な時にしか使わないので強調する
[X] (Mark) NEWLINEs

サンプル


markdownの記述

```
    <- スペース四つ
	<- TAB
trailing spaces ->    
```

2020年7月19日日曜日

hexl-modeが起動しなくなったとき (eval: Wrong type argument: characterp, nil)

hexl-modeが起動しなくなったとき (eval: Wrong type argument: characterp, nil)

結論

;; 間違った設定
(setq help-char nil)

のようにhelp-charをnilに設定するとhexl-modeが起動しなくなります。設定している場合は設定を外しましょう。

hexl-mode以外にも起動しない物がありそう。

詳細

  • help-char はcharacter (非負の整数)を割り当てる。nilを割り当ててはいけません。
  • (char-to-sting nil) でエラーが起きます

動画

2018年12月3日月曜日

親指の使い方

概要

Kinesis Advantage2 LF という一見変なお椀のようなキーボードを使って感じたことを書きます。

enter image description here

慣れるまで

最初は何が何やらわからず、打てませんでした。うとうとすると頭が痛くなってノートPCのキーボードの方に逃げていました。1ヶ月程度で慣れて打てるようになりました。慣れてからは普通のキーボードが平らなのが不思議なのと、普通のキーボードでは手が八の字型になって変な感じだなと思うようになりました。あと、人差し指で押すキーが、なんか変に感じます。(6とかBが遠く感じます)
今ではMacでもThinkpadでもKinesis Advantage2 LFを使っています。

買ってみたハードウェア

  1. フットスイッチ
    • 最初は超快適と思っていましたが足と手のタイミングが合わず使わなくなりました。
    • (フライトシミュレータでは使える気がする)
  2. マクロキーボード
    • これでいろいろ補えるのではないかと思いきや、使いこなせていません。
  3. ボタンがいっぱいついた ゲーミングマウス
    • マウス操作中にEnterを押したくて買いました。
    • 自分で決めた設定が覚えられず使いこなせず
    • 最初よかったマウスの滑りが悪くなって、以前から使ってたマイクロソフトのマウスに変えました。
    • Enter, Spaceだけ割り当てておけばよかったのかも。

不便な操作

  1. Excelでマウスとキーボードを交互に操作するとき。(クリックしたセルにスペースを入力するとか)
    普通のキーボードだと左手で押す部分を右手で補うのですが、となりのお椀まで右手をやるのに抵抗感を感じます。なぜだろう。。。
  2. カーソルキー。慣れるまでは大変。慣れてからも2つに分かれているのでちょっと大変。

親指の使い方

今まで、ThinkpadやMacのキーボードだとスペース、英数、かな、(変換、無変換)しか押さなかった親指ですが、KinesisをつかうとHome, End, Scroll up/down, Delete, Enterなど重要なキーを押すようになります。それがないキーボードを使っていると親指が空振りしてしまうわけです。
この親指部分だけの携帯用プチキーボードがあると便利な気がします。

キーを外して掃除できるんだけど、一回しかしてません、ごめんなさい。

Written with StackEdit.

X11 感じてみろ

概要

VcXsrv でEmacsがうまく表示されなくなって、数分Emacsを端末でつかってみたけど、うまく操作できず、X11 + Emacsのありがたさがわかったのでメモ。

XcXsrv (というかX11)ありがたいこと

  1. コピーアンドペーストがWindowsアプリ(とくにGoogle Chrome)との間でスムーズにできる。
    マウスだけでなく、キーボードでできる
  2. Ctrl-e とか端末だと押せないキーがある?

数分で感じたのはこれくらい。というか端末ではvimを起動して我慢して使うのが日常。 本当は、どこでもXでも端末でもEmacsを器用に扱ってみたい。

Written with StackEdit.

2018年11月26日月曜日

Emacsが背景色一色になっちゃったとき (Windows 10, VcXsrv)

結論

VcXsrv をアップデートしたら解決しました。

環境

  • Windows 10
  • VcXsrv をX windowサーバとして使用しています
  • VirtualboxでUbuntu 17.04を起動
    • ssh ログインしてX11 ポートフォワーディングでemacsを使用しています

現象

  • Emacsを再起動したところ背景色一色になりました(深い青)
    • 右クリック時のメニュー、ツールバーは表示されます(が、普段表示してません)
    • モードラインは表示されません
    • Emacs26でもEmacs25でも再現します
    • –no-init-file オプション付きで起動しても再現します
    • -nw (no-window-system) オプション付きだと動作します
  • Virtualboxの画面で起動したときは動作します

やってみたこと

  • VcXsrvをアンインストールして Xming-mesa をインストールして試してみました
    • Emacsの画面が表示されましたが数秒後にクラッシュしました。。
  • VcXsrv をアップデートしました
    • Emacsが正常に動作するようになりました。

感想

  • 数年間VcXsrvを使っていて、このようなことがなかったのですが。
  • しばらく -nw でEmacsを使用していたのですが、耐えられませんでした
    • コピペがマウスを使わないとできない(やりかたがあるのだろうか)
    • Ctrlを押しながらのキーの動作がwindow-system版と違う
  • VcXsrvありがたい

Written with StackEdit.

2018年8月28日火曜日

うごかない

自分で書いたコードが動かない。なんでだーとおもって、ふと 「ログでも入れるか」」 と、ソースコードを見返すと瞬時に間違っている箇所がわかるという体験。最近何度かありました。 ログを入れようと意識をしてコードを「見る」(読んでない)からなのか。まさか、リラックスはしていないと思うけど。 printfデバッグおそるべし。

2018年8月2日木曜日

休みが必要だ

テレビがそう言ってる、そうだそう言ってる♪ (奥田民生 コーヒー)

ふとリラックスしたときに今まで考えて煮詰まっていたことが解けると言う体験ありますよね。
他には

  1. タバコを吸うとき (吸わないから知らないけど、吸いながらおしゃべりしていると、アイディアが出るらしい)
  2. お茶、コーヒー、ジュースを飲んでぼーっとしているとき
  3. トイレで座ったとき
  4. 散歩しているとき
  5. 横になってゴロゴロしているとき

アルキメデスが風呂に入ったときに閃いたのは、お湯が溢れたのがヒントになったのもあるけれどもリラックス効果もあったのかなと思います。

リラックスとは別に、今の状況や問題を文字で書いたり、絵で書いたり、話す事によっても解決することがあります。アウトプットする事によって、話が論理的に整理できるからなんでしょうか。

というわけで、適度なタイミングで、書いたり、表現して、休むのがいいのです。ただ、休むタイミングとかどう休むかとかが難しいんだよな。

参考文献

外山滋比古著 思考の整理学 「寝させる」