【问题标题】:emacs (evil) binding to move selected lines over, inserting spacesemacs(邪恶)绑定以移动选定的行,插入空格
【发布时间】:2012-03-27 06:45:43
【问题描述】:

我想要一个 emacs 绑定(在邪恶模式下)来获取选择并将其一次移动到右侧或左侧的一个空间。例如,突出显示五行,点击 [some-key],所有五行都向右滑动一个空格,然后点击 [shift some-key],所有行向左滑动一个空格。

【问题讨论】:

    标签: emacs evil-mode


    【解决方案1】:

    这可能比我最初发布的方法更好。

    (defun jg-indent (start end count)
      (interactive "r\np")
      (save-excursion
        (let ((start (if (use-region-p)
                         start
                       (beginning-of-line)
                       (point)))
              (end (if (use-region-p)
                       end
                     (end-of-line)
                     (point))))
          (indent-rigidly start end count))))
    
    (defun jg-unindent (start end)
      (interactive "r")
      (jg-indent start end -1))
    
    (global-set-key "\C-c=" 'jg-indent)
    (global-set-key "\C-c+" 'jg-unindent)
    

    【讨论】:

    • 我只是偶然发现了 indent-rigidly 这可能是一个更好的选择。我的绑定到 C-x C-i。
    • 埃里克,它很接近,但我在第一次命中后失去了我的区域。我希望能够多次点击这个,比如绑定 ctrl-= 向右走和 ctrl-+ (ctrl shift =) 向左走,对于区域,如果没有区域,则应使用当前行。
    • 我在上面发布了一个更好的方法。我无法将它绑定到您想要的键上。这两个键有点麻烦。对不起!
    猜你喜欢
    • 1970-01-01
    • 2012-12-27
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    相关资源
    最近更新 更多