異なる文字コード(UTF-8とEUC-JP)のプロジェクトをかけもちしており、全ての作業をSSHで開発サーバーにログインしてEmacs + Zsh + Screenで行っております。
現在、開発サーバー上のSSKではなくて、クライアント側のMacから日本語を入力している為、開発環境ごとにターミナルとシェルの文字コードをわざわざ変更しています。
もっとスマートな方法があるかと思うのですが、何かアドバイス下さい。
- TerminalとshellのエンコードはUTF-8で統一して、Emacsの設定だけプロジェクトごとに変更すれば良いのでしょうか?
( できればEmacsの設定も統一したいのですが、ファイルを開くごとにわざわざ指定するのは面倒)
- 全ての開発環境をローカルに統合したいと思いつつ、バーチャルホストの設定が面倒そうなプロジェクトがあり、わざわざ環境2つ作るより、全部サーバーにログインをして開発環境は1つのみでやってしまおう、という”とりあえず”でやっているので、この辺りも改善したいです
Mac環境ではなく、ローカルPCはWindowsなので、参考程度です。
私も同様な形で開発用サーバで開発をまとめています。
シェルの方法については、cygwin+rxvtを使っているのですが、起動パラメタで文字コードを指定できるので、それぞれの起動バッチファイルを用意してやっています。
開発方法については、私はシェル経由では開発せずに、SSH経由でsambaのファイル共有でファイルをローカルPCのXEmacsで編集しています。
デフォルトの文字コード(新規ファイル作成時の文字コード)はどちらか一方の指定になってしまいますが、表示、編集に関しては、開発ファイルの文字コードに関係なく実現できています。
デメリットとしては、多少レスポンスが遅いことがあることでしょうか。
emacsの設定ができていないと思われます。ターミナルの文字コードがなんであれ、emacsの表示コードとかキーボードコードとかをそのターミナル用に適切に設定していれば、ファイルの文字コードには関係なく、ちゃんと表示されるはずです。
>TerminalとshellのエンコードはUTF-8で統一して、Emacsの設定だけプロジェクトごとに変更すれば良いのでしょうか?
まあそういうことです。それでemacsの文字コード(いくつも組み合わせがあります)を適切にすれば、一個の.emacs設定で全部ちゃんと表示されるはずですが。
あとmac側で使っているターミナルの設定も適切でなければなりませんが。それがだめだともちろん表示できませんよ。
ご回答ありがとうございます。
ご説明が不十分でしたね。
emacsで異なる文字コードの日本語は自動判別で適切に表示されるのですが、
ファイルを新規作成する場合、デフォルトのエンコードがどちらかになってしまうので、
その点、毎回手動で入力するのも面倒だと重い、ご質問させて頂いた次第です。
ご回答ありがとうございます。
> 起動パラメタで文字コードを指定できるので、それぞれの起動バッチファイルを用意してやっています
この部分に大変興味があるのですが、具体的に何の起動引数をどのように指定してらっしゃるのでしょうか?