はてなキーワード: Emacsとは
プログラマーの三代美徳は、怠惰でもなければ傲慢でもない。本能、感情、混乱である。
本能とは、モチベーションの本質的部分である。エロいdeepfakeを作りたい、頭よく見られたい、金儲けしたいといった動機によってプログラマーは手を動かす。
本能がなければドーパミンも存在しない。コードを書く誘因は本能的衝動によって生み出されている。
感情とは、要するに好き嫌いのことだ。たくさんの経験を積み重ねてセンスを獲得するには、好き嫌いに敏感でなければならない。
なぜvscodeがクソで、emacsが素晴らしいのか。なぜマイクロサービスアーキテクチャに強い疑念があるのか。なぜベンダーロックインが金の浪費に繋がるのか。
そういったことは、経験から学び、そして感情という次元に落とし込まれる。感情は少数の次元で美的感覚を得るための優れたセンサーである。
混乱とは、人生である。混乱したことのないものはエントロピーを操ることはできない。
コードは常にエントロピー増大の法則に晒されている。高エントロピーの乱雑的コードを読んで混乱したことがなければ、リファクタリングもできないだろう。
私、emacsって知ったのってエディタ戦争を知ってからで、専門学校の1年生の頃だったかなぁ。
秀丸とかしか知らなかったから、emacsやvimっていうのを知って、なんだかワクワクしちゃったんだよね。
Andy Huntさんもエディタに詳しくなれって言ってるし、カスタムキーバインドやオートコンプリートでめっちゃ効率アップできるって聞いて、自分も試しにやってみたんだよ。
結局、私にはemacsが一番しっくりきて、emacs lispも勉強して、エディタを自分好みにカスタマイズする方法を覚えたんだけど、他の人が作った可愛い.elライブラリを使うことが多かったな。
bashも最初からemacsキーバインドを使ってるし、覚えておいて超便利だったよ。
最終的にはemacsを常に立ち上げて、開発やメール、TODO管理も全部emacsでやっちゃうようになったんだけど、でもff14はやっぱりemacsじゃできなかった(笑)。
ストールマン先生がペド疑惑で騒動になったりして、ちょっと混乱した時期もあったけど、それでもemacsをやめるってことはなかったな。
まあ、とにかく小指がちょっと痛いんだよねぇ。
そもそもあの脚ってキートップを見やすくするために付けられてた
つまりはタッチタイピングできない人のために見やすくする理由で作られていて
打ちやすさは手前は平面、奥が少し盛り上がる状態が一番負担が少ない
これは「人による」みたいなことはなくて、人間はそういう風に出来ている
特にカーソル移動をするときにFnを使って矢印キーを押す人が多いが
EmacsならC-nやC-pを使うし、Vimならjやkを使う
なので矢印キーなんて(ホームポジションから遠いし)使わないよね、という思想の元作られている
他にもBackSpaceはC-hなのでDeleteになっているしF1とかF2とかは使わないというのが前提
「うるさい俺は矢印キーを使いたいんだ」
という人はRealforce使えばいいのであってHHKBである必要は全く無い
まぁHHKBの大きな思想に持ち運べる馬の鞍思想があるので、持ち運ぶために使うけど矢印キーを使いたい、という人は一定数いると思うけど
QWERTY配列の理由はよく使うキーを中心に構成されているとか
タイプライターが壊れないようにわざとバラしてあるだとか言われているが
本当に押しやすいとかタイピングが早くなるような配列はちゃんと研究されているし
例えば日本語なら親指シフトが最も良いなんていうのも昔はあったんだが
結局のところ毎秒3キー押せるのが3.5キーになったところで意味は無いし
それよりも共通認識として広まっているQWERTY配列でいいじゃん、となって現在に至る
打ち間違えるためだけに存在してそうなNum Lockキーだが
数字を打ち込むときにテンキーがあるのとないのでは大違いで圧倒的にテンキーの方が速い
一方でノートPCではテンキーを置く場所をケチりがちなので無理矢理Num Lockキーを使ってキーボードの一部をテンキーにしている
斜めになっているのでテンキーとは打ち方が変わってしまうが、それでも使いこなせば数字を打ち込むのがめちゃくちゃ速くなる
ただ、ほとんどの場合は外付けのテンキーを使ってる気もするのでやっぱりいらないかもしれない
余談だがテンキーのあるキーボードのNum Lock機能は矢印キーとテンキーを切り替えるもので
昔のゲームなんかはテンキーを使って上下左右をコントロールしていたのだが
その場合はそもそもゲーム自体がテンキーによる入力で上下左右に動けていたので
そしてWASDキーによる移動が主流になって完全に廃れた
絶滅危惧種となりつつあるHome End PageDown PageUpだが
PageDownとPageUpはそれなりに使い方が知られているとして
HomeとEndが行頭・行末への移動だと知っている人は意外と少ない
文章を打っていて行頭に戻りたければHomeを押せばいいし、行末ならEndでよい
マウスでカーソル移動する必要はなくて便利なのだが恐らく大半の人はマウスで移動しているのと
Emacsキーバインドプログラマーとコンソールを触る人はC-aとC-eで代用できるので
MS OfficeやPhotoshopからデファクトを奪うレベルのオープンソースソフトが未だに出てこないのはどういうこと?
LibreOfficeにしろGIMPにしろ、いつまで経っても業務でまともに使えるレベルにならないし。
あとGUIも、オープンソースにおける決定版がこれまた待てど暮らせど出てこない。
てかOSSって、便利である以上に複雑怪奇なUIで、ユーザを苦しめるソフトばっかり作るよね。
(Perl、sendmail、bind、TeX、gnuplotなどなど挙げてったらキリがない)
なんでユーザの使い勝手というか、そこら辺のデザインがこうも蔑ろにされるのか意味がわからん。
結局、viとemacsどっちがいいかという、傍から見たらきのこたけのこ未満のしょーもないレベルで使い勝手を言い争っていた頃から、OSS界隈は何も変わっちゃいないと。
プログラミングだったら今やWindowsやmacでも、超快適な環境を超簡単にセットアップできる。
昔ながらのviやemacsが、現代的な開発環境より使い勝手に優れるとか絶対にありえないし。
それにLinuxなんてプログラミングどうこう以前に、MSOfficeもPhotoshopも使えないじゃん。
こっちが問題にしているのはあくまでMSOfficeやPhotoshopが使えないことなので、完成度低すぎな「なんちゃって代替ソフト」があっても全く解決にならない。
あと、Linuxがオープンソースというのは確かに特徴っちゃ特徴だけど、果たしてデスクトップLinuxのユーザに、OSがオープンソースかプロプライエタリかが問題になるレベルで使っている人間がどれほどいるのかっていう。
そうなると結局、デスクトップLinuxユーザというのは今も昔も
あるいは
調べたけどできなかった。だけどこんなのあるんだ。ありがとう
結局ubuntuを再インストールして、apt install emacs-mozc-bin のインストールにしたらOKだった
snapでインストールしたemacsと、aptでインストールしたemacsがある
もともとは snap版のみを使っていたが、apt install emacs-mozc をしたら、なぜか/usr/bin/emacs が呼ばれるようになって、おそらくこのemacsはaptでインストールされたものだと思う。
優先度は/usr/bin > /snap/bin なので、普通に $emacs と呼ぶと、aptのemacsが使われる。
[解決策1]
alias emacs='/snap/bin/emacs' とする。
ただし、which emacsとしたとき、/usr/bin/emacs と出るので、この設定のことを忘れたときにはまりそう。
[解決していない策]
ただ、これをしても/usr/bin/emacsが消えない。なんでだろう
私はプログラマだが、キーボードにはあんまりこだわりはない方だったと思う。
大学時代に HHKB Lite2 を使っていたが、それ以外は特にキーボードにこだわりを持たずに生きてきた。
その大学時代に使っていた HHKB Lite2 も結局大学のコンピューター室にあるキーボードがそれだったからそれにしただけなので、やはりこだわりなどというものは持っていなかったに等しいだろう。
ただ、プログラミングをその HHKB Lite2 という英語配列のキーボードで覚えた関係上、それ以降のキーボードも英語配列でなければイヤだということと、やはり HHKB Lite2 の影響で、Aキーの左側に Control キーがないとイヤだということ、この2点は私がキーボードに求める数少ないこだわりだったかもしれない。
なので、それ以降に買った MacBook では英語配列のものを買っていたし、Aキーの左側に Control キーがないとイヤだというのは、 MacOS の設定でなんとかやってきた。
これは余談だが、 MacOS はデフォルトで Emacs 風のキーバインドを採用しているのに英語配列ではAキーの左隣が Caps lock になっているのは非合理的だと感じる。本当になんでだ。日本語配列だとAキーの左隣にちゃんと Control がいるのに。
話を戻すと、 MacBook のキーボードを英語配列にして買っていたので、今までは特にこだわりもなく MacBook のキーボードを使ってきた。
しかし、今度仕事で使うことになった MacBook が日本語配列だったのだ。
これは多分厳しいものがあると感じた。なので、英語配列のキーボードを買うことにしたのだ。
自分が今まで時折、アキヨドでキーボードを気まぐれに試打した感覚から、自分は多分青軸のメカニカルキーボードが好みなのだろうと思っていた。
そして今日、改めてアキヨドでキーボードを触ってみて、その予感は確信へと変わった。
様々な機種を試打してみた結果、 Keychron の K8 Pro という機種の青軸版の打鍵感の適度な軽さが気に入り、これを買うことにした。
正直、とてもうるさい。だが、とても楽しい。
ただキーボードを打つ。
それだけのことに楽しさを見出せるなんて想像もしていなかった。
https://b.hatena.ne.jp/entry/s/www.itmedia.co.jp/pcuser/articles/2211/25/news072.html
HHKBでよく聞く「HHKBに矢印キーが欲しい」「Fn使う矢印キーが使いにくい」という意見は全くもって的外れ
日頃からアホみたいにキーボードを叩くハッカーと呼ばれる人達は矢印キーを使わない
代わりに使うのはEmacsキーバインドと呼ばれるCtrlを押しながらP,N,B,F,A,Eなどを使うカーソル操作、もしくはH,J,K,Lを使うVimキーバーインドだ
エディタがVSCodeになろうがPowerPointを使うことになろうがこれは変わらない
なんならBackSpaceも使わないしDeleteも使わない
その代わりCtrlやMetaキーをめちゃくちゃ使う
なのでその使い心地を究極まで求めてHHKBのキー配置が決まってる
矢印キーがどこに配置されていても、押すためには一度ホームポジションから手を動かす必要があるんだが
死ぬほどキーボードを叩く人からするとこの動きに無駄が多くてイライラする
EmacsキーバインドやVimキーバインドだとホームポジションから動かないので流れるようにタイピングができる
シェルなんかを使うときもEmacsキーバインドでカーソル操作ができるから基本的にはみんなCtrlを使ってカーソル移動する
難しそうに見えるけれど一度慣れてしまえばすぐに使えるキーバインドなのでHHKBを持ってる人は是非覚えて欲しいし
そうでない人もすぐにCaps LockをCtrlに変えて覚えてほしい
ちなみにEnterは右小指で押すし、BackSpaceはCtrl-H、DeleteはCtrl-Dを使う
マウスは滅多に使わないがどうしようもなく使うときのためにMacのようなトラックパッドが距離が近くて重宝されているし
Thinkpadの赤ポチが人気なのはそのせいだと勝手に思ってる
別に使わないキーは使わなければいいだけで付属していてもいいではないか、という疑問があると思う
テンキーだってFunctionキーだってPrintScreenだって使わなくても付ければいい、というのは至極まっとうな意見に思える
例えばサーバールームなんかにはキーボードが無くて自分で持って行ってUSBに刺して使うということがあったりするし
HHKBが産まれた20年前なんかはWorkStation毎にキーボードが違う、みたいなこともあったから自分の慣れたキーボードを持って行って繋ぐこともあった
この辺はクラウド化してSSH前提になったので回数は減ったが逆にノートPCを持ち歩いていろんなところで作業することが増えた
ノートPCのキーボードが全然ダメだからお気に入りのキーボードを持ち歩く、ということも(一部界隈では)増えたわけだ
そんなときにRealforceみたいな馬鹿デカいキーボードを持ち歩くわけにもいかないのでHHKBは小型化をキープしている
小型化するときにキーは少ない方が小さくなれるのでキーの数は少ないままというわけだ
HHKBを持ってる人は「左右の手前側に空いてるスペースあるじゃん」と思うだろうが
以上を踏まえると
はHHKBを買う必要は全く無いしRealforce買っておけばいい