Удалить до пробела в Emacs - PullRequest
4 голосов
/ 14 декабря 2010

Есть ли функция Emacs для удаления (вперед или назад) до первого пробела?Например, у меня есть следующая строка, и курсор отмечен кареткой:

someword ?(&)!* morewords
               ^

Я хочу удалить в обратном порядке последовательность не буквенно-цифровых символов, но не слово someword.Использование backward-delete-word также уничтожит слово.То же самое с курсором перед странными символами и kill-word.

Ответы [ 2 ]

19 голосов
/ 14 декабря 2010

Emacs имеет функцию zap-to-char, которая удалит все, вплоть до определенного символа.Таким образом, это не будет работать для всех пробелов, но если ваша конкретная проблема - все, вплоть до пробела, вы можете использовать эту функцию.Дайте функции отрицательный аргумент для zap назад.

3 голосов
/ 14 декабря 2010

Я не знаю ни одной функции, но сделать ее достаточно просто:

(defun my-delete-backward-to-ws ()
  (interactive)
  (delete-region (point) (save-excursion (skip-syntax-backward "^ ") (point))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...