Emacs:如何选择光标下的单词并追加到文件



我想要以下行为:

将光标下的单词追加到文件中(例如~/vocabulary.txt)最好还是为它绑定一个键。

谁能告诉我怎么做?我应该把这些代码放到.emacs中吗?

尝试以下函数:

(defun my-write-to-file ()
  "Save word at point to file"
  (interactive)
  (write-region (concat (thing-at-point 'word) "n") nil "~/vocabulary.txt" 'append))
当调用

时,该函数将保存光标所在点的单词(光标所在的单词或光标前面的单词)到~/vocabulary.txt。您可以将其绑定到一个键(在本例中为C-c w,但您可以将其更改为任何您喜欢的),如下所示:

(global-set-key (kbd "C-c w") 'my-write-to-file)

使用时,只需将函数和键绑定赋值放在.emacs中。

@Elethan为您编写了一个执行您所要求的操作的命令,并将其绑定到一个键。

提到一些您可以用于这类事情的通用命令可能也会有所帮助。M-x append-to-file将区域内容追加到文件中,M-x write-region将区域内容追加到文件前。

对于这类事情,手册是你的朋友。参见节点杂项文件操作和累积文本。

也要注意,对于刚才提到的两个命令,正如手册中关于append-to-file的说明(它应该同时说明这两个命令):

您应该只对而不是的文件使用append-to-file在Emacs中访问。在Emacs中编辑的文件上使用它会在Emacs背后修改文件,这会导致丢失一些数据

cumulative Text还告诉您用于向缓冲区添加文本的命令,包括为正在访问的文件添加缓冲区的情况(与上面引用的append-to-file警告相反)。这些命令包括append-to-bufferprepend-to-buffer

最新更新