Org-mode作为非程序员的笔记本

时间:2018-05-24 06:24:27

标签: emacs cloud org-mode

我是非程序员(除了一些Perl和R技能)。 我今年开始攻读博士学位,并考虑将org-mode作为实验室笔记本。但是,在我花时间学习它之前,我有很多问题..

最重要的是,在工作中我在不同的PC上工作,而不是在家工作,但是我将它们用于工作,所以我需要的是无缝连接。 所以我的想法是将组织文件存储在云上,但实际上我将在我的组织模式文件中链接文件,但实际上这些文件在服务器上(在工作中)我不允许存储在我的云上。这意味着,假设我在电子表格中有一些数据,并希望在我的组织文件中链接此电子表格。但是,在我的私人电脑上,此文件不存在。 org-mode如何处理?它甚至可能吗?我的意思是,它有抱怨吗? 另外,我的工作PC上有一些文件夹对我来说是锁定的,因此安装和工作通常由IT服务完成。 emacs甚至不起作用吗?我尝试使用R并且它可以工作,甚至可以从R中安装软件包,但是,Perl不会因为从终端执行perl脚本而需要锁定文件夹。

另外,如果你能为我推荐好的入门资料,我会很高兴:)

提前致谢!

2 个答案:

答案 0 :(得分:6)

我使用org-mode来获取大量笔记。我也使用不同的电脑。我做的最基本的事情是拥有最便宜的亚马逊AWS计算实例(每月10-15美元IIRC)。 Emacs有一个名为TRAMP模式的优秀系统,它允许您编辑远程文件,就像它们是本地文件一样。所以在我的.emacs文件中我有:

(find-file "/ssh:ec2-user@ec2-11-222-3-444.us-west-2.compute.amazonaws.com:~/logs/year/2018/may.org")

因此,当我启动emacs时,它会抓取本月的组织文件。我还为跨越一天的任务维护一个单独的目录:

in the may.org file:
** [[../../tasks/something useful.org][something useful]]

then in the directory:
/ssh:ec2-user@ec2-11-222-3-444.us-west-2.compute.amazonaws.com:/home/ec2-user/logs/tasks/something useful.org

此设置似乎可以满足我的基本需求。对于您的第二个要求,您可能可以使用tramp模式。您可以一起使用org-mode的链接系统和tramp模式:

[[file+emacs:/ssh:someUser@otherMachine:~/someDir/TextFile.txt][TextFile.txt]]

您需要设置ssh-key,这样您就不必登录了:

in ~/.bashrc
ssh-add ~/.ssh/my-aws-secret.pem 

最终要让emacs在不同的机器上做不同的事情,你可能需要进入条件分支:

来自我的.emacs文件(p代表谓词):

(defun p-is-windows-os ()
  (eq system-type 'windows-nt))

(defun p-is-mac-os ()
  (eq system-type 'darwin))

(if (p-is-windows-os)
  (setq-default ispell-program-name "C:\\Program Files (x86)\\Aspell\\bin\\aspell.exe"))

如果两台计算机上的操作系统相同,则可以在网络IP上执行此操作。

我非常喜欢org-mode和emacs。但是,我对推荐他们犹豫不决,因为他们与其他一切都是如此不同/奇怪(我是一个程序员,所以很奇怪)。无论你做什么:备份你的数据!如果您想了解更多信息,请与我们联系。

答案 1 :(得分:4)

我强烈建议你看看John Kitchin博士的材料。 他从事计算化学,但他的很多材料都非常通用,非常有用(特别是那些与纸质书写相关的材料)。

http://kitchingroup.cheme.cmu.edu/blog/category/emacs/

他有一个信息量很大的YouTube频道。

https://www.youtube.com/channel/UCQp2VLAOlvq142YN3JO3y8w

他还创建了一些改进组织的软件包。我认为约翰是想要使用组织的研究人员的最佳材料来源。

我个人一直使用org-mode进行自己的研究。

关于使用云。将您的组织文件放在公共目录(例如Dropbox)中,并确保启用

   (global-auto-revert-mode t)

这样,如果在一台计算机上更改了文件,它将在运行的任何其他emacs中自动更新。这样可以避免冲突。

另外,学习使用org-babel。对于R来说这绝对是惊人的。它是黑客的Jupyter笔记本版本。这是一个很好的教程:

https://orgmode.org/worg/org-tutorials/org-R/org-R.html

- DMG