2016-09-18 6 views

ответ

1

Попробуйте следующую функцию:

(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) 

Для использования, просто поставить функцию и назначение KeyBinding в вашем .emacs.

1

@Elethan написал вам команду, которая выполняет только то, что вы просите, и связала ее с ключом.

Это может также помочь упомянуть некоторые общие команды, которые вы можете использовать для такого рода вещей. M-x append-to-file добавляет содержимое региона в файл, а M-x write-region добавляет.

Пособие является вашим другом для таких вещей. См. Узлы Misc File Ops и Accumulating Text.

Имейте в виду также, что для двух команд, только что упомянутых, как руководство говорит о append-to-file (он должен сказать об обоих):

Вы должны использовать append-to-file только с файлами, которые не быть посетили в Emacs. Используя его в файле, который вы редактируете в Emacs, изменит файл за спиной Emacs, что может привести к потере вашего редактирования.

Accumulating Text также сообщает вам о командах для добавления текста в буфер, в том числе и при добавлении в буфер для файла, который вы посещаете (в отличие от того, что выше цитата предупреждает о для append-to-file). К ним относятся команды append-to-buffer и prepend-to-buffer.

Смежные вопросы