Что такое эквивалент emacs vi dd? Я хочу удалить текущую строку. Пробовал CTRL + k, но он удаляется только из текущей позиции.
Как удалить текущую строку в Emacs?
Ответ 1
C-a # Go to beginning of line
C-k # Kill line from current point
Существует также
C-S-backspace   # Ctrl-Shift-Backspace
 который вызывает M-x kill-whole-line.
Если вы хотите установить другую привязку глобального ключа, вы поместите это в ~/.emacs:
(global-set-key "\C-cd" 'kill-whole-line)     # Sets `C-c d` to `M-x kill-whole-line`
Если вы хотите удалить несколько целых строк, вы можете префикс команды с номером:
C-u 5 C-S-backspace    # deletes 5 whole lines
M-5 C-S-backspace      # deletes 5 whole lines
C-u C-S-backspace      # delete 4 whole lines. C-u without a number defaults to 4
C-u -5 C-S-backspace   # deletes previous 5 whole lines
M--5 C-S-backspace     # deletes previous 5 whole lines
Иногда я также нахожу C-x z полезным:
C-S-backspace         # delete 1 whole line
C-x z                 # repeat last command
z                     # repeat last command again. 
                      # Press z as many times as you wish. 
                      # Any other key acts normally, and ends the repeat command.
		Ответ 2
Если вы не хотите убивать строку (которая помещала бы ее в буфер обмена ОС и убивать кольцо), но просто удаляйте ее:
(defun delete-current-line ()
  "Delete (not kill) the current line."
  (interactive)
  (save-excursion
    (delete-region
     (progn (forward-visible-line 0) (point))
     (progn (forward-visible-line 1) (point)))))
		Ответ 3
Самый быстрый/самый простой способ удалить (убить) полную строку, из любой точки на строке, не выбирая ничего, есть:
C-w  ; kill-region
Он универсален при удалении выбранного или по умолчанию если ничего не выбрано.
Учитывая этот вопрос, вы, вероятно, также заинтересованы в репликации
Vim "yank", yy (хотя на языке Emacs "янки" сбивает с толку
Vim "put", p). Это:
M-w  ; kill-ring-save
Хороший и конгруэнтный, и довольно легко запомнить. Даже немного
аналогично Vim i_CTRL-W.
Как только вы положили что-то в кольцо убийства с любым из вышеперечисленных, вы, скорее всего, захотите "выдернуть" (вставить) его:
M-y  ; yank-pop
(Обратите внимание, что C-S-backspace может не работать в терминале Emacs.)