Emacs - удалить до первого непустого символа - PullRequest
2 голосов
/ 15 октября 2011

Я ищу привязку клавиш / функцию, которая удаляет из текущей позиции курсора первый не пустой символ

пример:

function f() {|

    test();

|- положение курсора

Я хочу удалить все до буквы "t"

Ответы [ 5 ]

3 голосов
/ 15 октября 2011

Было представлено много хороших вариантов. В Emacs 24 (в настоящее время в предварительном тестировании) вы можете указать от M - до just-one-space или M-SPC , чтобы сделать именно то, что вы просите.

3 голосов
/ 15 октября 2011

Mz tt (при необходимости замените t ).

2 голосов
/ 15 октября 2011

В 'c-mode' есть 'Mx c-hungry-delete-forward' , что также связано с Cc Cd .Таким образом, вы можете создать эту привязку в любом режиме программирования, который вы используете.

(define-key <whatever>-mode-map (kbd "C-c C-d" 'c-hungry-delete-forward)

В качестве альтернативы вы можете получить пакет 'hungry-delete' и использовать его для отмены удаленияКоманды для удаления всех пробелов (в отличие от одного пробела).

0 голосов
/ 15 октября 2011

Используйте M-x delete-blank-lines (что также связано с C-x C-o).

Из справочных документов (C-h k C-x C-o):

  • В пустой строке удалите все окружающие пустые строки, оставив только одну.
  • В изолированной пустой строке удалите эту.
  • В непустой строке удалите все сразу следующие пустые строки.
0 голосов
/ 15 октября 2011

Для этого я использую собственный макрос:

(fset 'jline
    [?\C-  ?\C-\M-n ?\C-a ?\C-w return])

(просто поместите этот маленький макрос в конфиг .emacs)

Конечно, вы можете переименовать макрос так, как хотите.


Итак, следующее состояние:

function f() {|



    test();
}

Становится:

function f() {
    |test();
}
...