2016-10-21 10 views
1

私はこの質問に応じて、新しいファイルを作ってみると答え:私は新しいEmacsのファイルにコード関数 `write-region`の使い方は?

(write-region "" nil custom-file) 

をコピーし、C-XのC-eでそれを実行したいHow to create an empty file by elisp?

を。しかし、私が得るのは

Wrong type argument: stringp, nil 

ここで私は何をしていますか?私はかなりemacsに新しいとそれを検索して解決策を見つけようとしましたが、成功しませんでした。

答えて

2

custom-fileの値のような音は、nilです。文字列(ファイルの名前)でなければなりません。

変数debug-on-errortに設定すると、文字列として期待されていたargが実際にはnilであることを示すバックトレースが表示されます。

このように、あなたの(相対)ファイル名はで展開するファイル名をラップしてみてください。

(write-region "" nil (expand-file-name "new_file")) 

が今では、現在のdefault-directoryでファイルを作成する必要があります。

C-x C-eを実行すると、カーソルがどこにあるかが異なります。それを文書の最後に置きます。

+0

カスタムファイルを "test_new_file"に置き換えた場合、emacsの出力は "test_new_file"になります。しかし、私はnew_fileを見つけることができません。または、私はそれを何に置き換えるべきですか?新しいファイルは私のホームフォルダにあるはずですか?それとも別の場所? – user2664856

+0

ファイルへの書き込みを要求しているテキストは空です: '" '。したがって、ファイルが空になることが期待できます。あなたは(明らかに)Emacsに新しいファイルに空の文字列を書くように頼んだ。あなたは何を期待していますか?あなたは本当に何をしようとしていますか? – Drew

+0

問題は、ファイルが空であることではありません(私はどこにもそのことを言っていませんでした)。しかし問題は、ファイルがまったく作成されていないことです。 – user2664856