0

すでに他のトピックを調べましたが、まだ解決策が見つかりませんでした。Windows 7 に Emacs 用の「nxhtml」プラグインをインストールしようとしています。すでに「HOME」環境変数を「C:\」として設定しています。したがって、私の .emacs.d フォルダーはそこにあり、そこに nxhtml を配置し、readme にあるように、次の行を「_emacs.d」ファイルに追加しました。

(「C:\.emacs.d\nxhtml\autostart.el」をロード)

しかし、それは読み込まれません。

私も入れてみました: (add-to-list 'load-path "C:\.emacs.d\nxhtml")

(「autostart.el」をロード)

しかし、役に立たない...誰かがここで光を当てることができますか? tnx。

4

2 に答える 2

1

ここにいくつかのポイントがあります:

まず、_emacs.d は init ファイルのデフォルトのファイル名ではありません。つまり、emacs はそれを自動的にロードしません。代わりに ~/.emacs.d/init.el または ~/.emacs を試してください。

第 2 に、Windows 7 には、プログラムが特定のシステム ディレクトリに書き込めないようにする機能がありますが、これを行う多くの古いプログラムとの下位互換性のために、それらを失敗させるのではなく、アプリケーション固有のディレクトリ内の別の場所にサイレントに書き込みをリダイレクトします。 . C:\ はそれらのディレクトリの 1 つであるため、HOME をそこに設定すると問題が発生します。

3 番目に、バックスラッシュが Lisp 文字列のエスケープ文字であるという他の回答を参照してください。

于 2013-06-04T13:22:59.880 に答える
1

\バックスラッシュを前に付けると特定の文字が新しい意味を持つため、文字列の (二重引用符) 読み取り構文では特別です (たとえば\n、改行、\tタブ、\"二重引用符など)。次の文字がバックスラッシュと関連して特別な意味を持たない場合、その文字はそのまま使用され、バックスラッシュは無視されます。

"C:\.emacs.d\nxhtml\autostart.el"実際には文字列です:

C:.emacs.d
xhtml^Gutostart.el

文字列に a を含めるには、次の\ように書く必要があります\\

ただし、バックスラッシュは理解できますが、現在、Emacs はすべてのプラットフォームで一貫して/おり、ディレクトリ セパレータとして使用できます1。代わりにそれを行ってください。

1となり、廃止directory-sep-charされた変数は完全に削除されました。

于 2013-06-04T02:57:22.317 に答える