Re: Как в Emacs двигать слова

Ответ на комментарий от Anotheroneuser
Anotheroneuser> Бывают проблемы с лексикой и надо переместить слово в в другой конец предложения. Может быть, есть для этого удобное сокращение?
У меня есть код, который умеет двигать блок текста, как во всяких саблаймах
(defun setup-move-code-block ()
    "Enable code moving like as Sublime."
    (defun move-text-internal (arg)
        (cond
         ((and mark-active transient-mark-mode)
          (if (> (point) (mark))
                  (exchange-point-and-mark))
          (let ((column (current-column))
                (text (delete-and-extract-region (point) (mark))))
              (forward-line arg)
              (move-to-column column t)
              (set-mark (point))
              (insert text)
              (exchange-point-and-mark)
              (setq deactivate-mark nil)))
         (t
          (beginning-of-line)
          (when (or (> arg 0) (not (bobp)))
              (forward-line)
              (when (or (< arg 0) (not (eobp)))
                  (transpose-lines arg))
              (forward-line -1)))))

    (defun move-text-down (arg)
        "Move region (transient-mark-mode active) or current line
  arg lines down."
        (interactive "*p")
        (move-text-internal arg))

    (defun move-text-up (arg)
        "Move region (transient-mark-mode active) or current line
  arg lines up."
        (interactive "*p")
        (move-text-internal (- arg)))

    (global-set-key [\M-\S-up] 'move-text-up)
    (global-set-key [\M-\S-down] 'move-text-down))
Думаю, что можно сделать по-аналогии, как тебе нужно. Но ваще для переноса слова я пользуюсь C-w C-y :)

// Sent from my GNU Emacs
Ответы на это сообщение: Anotheroneuser (2018-08-20 14:53:37)
Difrex (2018-08-20 14:20:56) [Ответить]
Предыдущее сообщение Следующее сообщение