Emacs を使用して Google ドライブのテキスト ドキュメントを編集し、変更内容を Google ドキュメントにミラーリングするにはどうすればよいですか?
Google コマンドライン プログラムと、 Emacsspeakの一部であるgclientと呼ばれるものを見つけましたが、Linux または Windows が必要なようで、Aquamacs を使用して OSX を使用しています。あるいは、単にインストール方法を理解していないだけかもしれません。
これは実行可能ですか?
Emacs を使用して Google ドライブのテキスト ドキュメントを編集し、変更内容を Google ドキュメントにミラーリングするにはどうすればよいですか?
Google コマンドライン プログラムと、 Emacsspeakの一部であるgclientと呼ばれるものを見つけましたが、Linux または Windows が必要なようで、Aquamacs を使用して OSX を使用しています。あるいは、単にインストール方法を理解していないだけかもしれません。
これは実行可能ですか?
googlecl
Macports からインストールできます。その後、 emacs serverを使用して、ローカルの emacs でファイルを開くことができます。
インストールしたら、次のコマンドに従うことができます。
$ google docs list # gets a list of the files
$ google docs get <FILE> /tmp/edit$$.txt # gets the <FILE> to /tmp/edit$$.tmp
$ emacsclient /tmp/edit$$.tmp
$ google docs upload /tmp/edit$$.tmp <FILE>
しかし、私はそれgoogle docs get
がうまく機能しないことを発見しました。
ファイルを取得、編集 (emacs)、およびプッシュ バックする必要はありません。
まずは「Google ドライブ」を Mac にインストールします。その後、ファイルを直接編集できます。~/Google\ ドライブの下を見てください。
gdrive を使用する別のオプション (完了するには helm が必要です)
(defvar gdocs-folder-id "<gdrive folder for exported docs>"
"location for storing org to gdocs exported files, use 'gdrive list -t <foldername>' to find the id")
(defun gdoc-export-buffer ()
"Export current buffer as google doc to folder irentified by gdocs-folder-id"
(interactive)
(shell-command
(format "gdrive upload --convert --mimetype text/plain --parent %s --file %s"
gdocs-folder-id buffer-file-name)))
(defun gdoc-import-buffer (doc)
"Import a file in gdocs-folder-id into current buffer"
(interactive
(list
(completing-read "Choose one: "
(split-string
(shell-command-to-string
(format "gdrive list -q \"'%s' in parents\"" gdocs-folder-id)) "\n"))))
(insert (replace-regexp-in-string (string ?\C-m) (string ?\C-j) (shell-command-to-string
(format "gdrive download -s --format txt --id %s" (car (split-string doc " ")))))))