我想要以下行为:
将光标下的单词追加到文件中(例如~/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-buffer
和prepend-to-buffer
。