如何将光标移动到emacs的邪恶线中间?

时间:2014-08-05 04:59:24

标签: emacs evil-mode

以下链接在vim中给出答案,

https://superuser.com/questions/216411/go-to-middle-of-line-in-vim

使用以下脚本

map gm :call cursor(0, virtcol('$')/2)<CR>

但是如何在emacs中做到这一点?把它放在.emacs里面?怎么样?

3 个答案:

答案 0 :(得分:3)

此功能将光标置于该行的中间点。以下行将其绑定到gm(顺便说一下,它会破坏默认的evil-middle-of-visual-line):

(defun middle-of-line ()
  "Put cursor at the middle point of the line."
  (interactive)
  (goto-char (/ (+ (point-at-bol) (point-at-eol)) 2)))

(define-key evil-motion-state-map "gm" 'middle-of-line)

将这些行放在.emacs文件中; define-key行应位于初始化evil的部分之后。 (仅供参考:正常状态图继承自运动状态图。)

答案 1 :(得分:2)

这样的事情怎么样?

(defun middle-of-line ()
  (interactive)
  (let ((eol-pos (progn
                    (end-of-line)
                    (point)))
       (bol-pos (progn
                    (beginning-of-line)
                    (point))))
     (forward-char (/ (- eol-pos bol-pos) 2))))  

答案 2 :(得分:0)

我使用的是这个版本:

{{1}}