从Emacs中的行开头到达第n个字符

时间:2012-05-22 14:50:41

标签: emacs

我最近开始使用 emacs 来编写我的程序代码。我想知道是否有一个“命令”从行的开头直接到达第n个字符 而不使用任何技巧(比如重复n次C-f)。我简要介绍了emacs手册,但没有找到任何内容。

3 个答案:

答案 0 :(得分:5)

表示n == 12

C-ù 12 C-F

C-1 C-2 C-F

答案 1 :(得分:3)

  

我简要介绍了emacs手册,但没有找到任何内容。

C-h r C-s repeat

答案 2 :(得分:1)

(这对评论来说太长了)

您评论过您不想使用命令的组合,但是...... Emacs的一个特点是通过组合函数可以很容易地“扩展”它。你经常重复一些任务并希望自动化吗?编写一个解决问题并将其绑定到密钥的函数。或录制宏并重播(如果需要,可将其绑定到键)。

现在要去 nth char,我这样做的方式取决于我所追求的......

  • 通常情况下,如果我想进入“缩进”,那么我会使用一个方便的功能(我可能是来自SO的某个人)绑定到 Ca ,这个功能在开始之间循环该行或缩进:

    (defun beginning-of-line-or-indentation ()
    
    "move to beginning of line, or indentation"
     (interactive)
     (if (bolp)
         (back-to-indentation)
       (beginning-of-line)))
    
  • 现在,如果我想转到特定角色,我会使用 isearch-forward (默认情况下绑定到 Cs ),然后键入我的内容后。我一直都在使用它,这是一个巨大的节省时间。我看到许多人使用Emacs(或其他东西)的视频,并将光标“一直”移动到一个可以通过做C-s然后输入一个或两个字符而直接触及的位置,这总是让我大吃一惊。它当然适用于多行,您可以通过调用 isearch-backward 向后搜索(默认情况下绑定到 C-r )。

  • 否则 universal-argument (C-u)很好,但如果你不在行的开头就不行。

如果由于某种原因这是你需要经常做的事情,那么编写一个函数调用行首然后按你想要的字符数向前移动是微不足道的......现在当然这是Emacs所以功能可能已经存在:)