‘zsh’ カテゴリーのアーカイブ

zshユーザーが普通にtrampを使う方法

久々にEmacsの話題です。trampって便利ですよね。ローカルのEmacsでssh先のファイルを編集したり、sudoしてroot権限で編集できたりするのは素晴らしいと思います。trampの素晴らしさを知らない人は、下記サイトなどを参照してください。

ところで、zshをログインシェルにしているとtrampが上手く動かない現象に出くわします。具体的には、「/sudo::/etc/hosts」などを開こうとして下記のように怒られることがあります。

tramp: Waiting 30s for remote `/bin/sh' to come up...
apply: Couldn't `exec env 'ENV=' 'PS1=$ ' /bin/sh', see buffer `*tramp/sudo *'

この解決方法ですが、.zshrcや.zsh_profileなどに下記のように書けばOKです。

(続きを読む…)

unicode.orgで見つけた文字をUTF-8に変換する方法

タイトルそのままなんですが、まずは私のターミナルを見てください。

ターミナルにU+2620を表示してみたところ

ドクロマークのようなものが表示されています。日頃の行いが悪すぎてターミナルが呪われたようですね!というのは冗談で、unicodeの文字(U+2620)を1文字表示してみたところです。

私の環境はMacOSXとzshですが、zshでは”\xe2″などで任意の1バイトを表現することができます。つまり、IMEから入力できない文字でも、UTF-8表現の3バイトを指定することで任意の文字を表示できます。

unicodeには色々な文字があります。今回はunicode.orgのMiscellaneous Symbolsを見て、U+2620というのが面白い文字だな、ということで見つけてきました。

(続きを読む…)

Emacs使いのためのzsh設定

こんにちは、hnwです。今日はEmacsユーザー向けのzshの設定について紹介します。

私はかれこれ8年くらいbashを使っていました。これまでzshユーザーから「zsh便利だよ?zsh使いなよ」と言われて試しに起動してみたことはあるのですが、コマンドライン編集の細かい動きが違うのが気になってすぐbashに戻していました。

zshがbashと何が違うかというと、M-f(カーソルを1単語進める)の挙動です。bashもzshもデフォルトではEmacsライクな動作ということになっていますが、zshはEmacsと微妙に動作が違っているのです。bash(やそれ以前に使っていたtcsh)ではそんな違和感を覚えたことは無いのですが、zshはその点が少しイライラしました。私以外でも、重度にEmacsに毒されている人なら気になって仕方がないんじゃないかと思います。具体的には下図のような挙動の違いがあります。

(続きを読む…)