Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs相当于Vim';s词的运动与变化_Vim_Emacs_Editing - Fatal编程技术网

Emacs相当于Vim';s词的运动与变化

Emacs相当于Vim';s词的运动与变化,vim,emacs,editing,Vim,Emacs,Editing,在Emacs中,我可以使用M-f和M-b前后移动一个单词,但如果我必须前后移动三个单词,我需要将前面的顺序重复三次,这似乎不雅观。在Vim中,Emacs与单词运动概念的等价物是什么?例如,在Vim中,当我处于命令模式时,我可以通过发出2w向前移动两个单词,通过发出2b向后移动两个单词 Emacs中用于在单词之间移动的等效命令是什么(一次多个) 事实上,我想去特定的词,并改变它也。在Vim中,我可以通过ciw(更改行内字)完成此操作。Emacs中的等效命令是什么 您可以使用通用参数。有两种方法可以

在Emacs中,我可以使用M-f和M-b前后移动一个单词,但如果我必须前后移动三个单词,我需要将前面的顺序重复三次,这似乎不雅观。在Vim中,Emacs与单词运动概念的等价物是什么?例如,在Vim中,当我处于命令模式时,我可以通过发出
2w
向前移动两个单词,通过发出
2b
向后移动两个单词

  • Emacs中用于在单词之间移动的等效命令是什么(一次多个)
  • 事实上,我想去特定的词,并改变它也。在Vim中,我可以通过ciw(更改行内字)完成此操作。Emacs中的等效命令是什么

  • 您可以使用
    通用参数
    。有两种方法可以向前移动3个单词:

    • C-u3M-f
    • C-3M-f
    但这通常比做3次M-f要慢。你知道你没有释放M,对吗

    我不知道vim的civ做什么,但要找到一个单词,只需用C-s搜索它。如果你喜欢跳来跳去,看一看。它的工作原理类似于VimOperator等浏览器插件的follow links功能。有了它,你可以跳转到台词、单词甚至字符


    好吧,我不认为有一个内置的。也许此功能有助于:

    (defun delete-word-at-point ()
      "Delete word at point."
      (interactive)
      (let* ((p (point))
             (beg (+ p   (skip-syntax-backward "w_")))
             (end (+ beg (skip-syntax-forward  "w_"))))
        (kill-region beg end)))
    
    将它放在
    ~/.emacs
    中,并绑定到您想要的位置。也许M-:


    ciw
    是“更改内部单词”,它会删除光标下的单词,并将您置于插入模式以键入新单词。我宁愿执行
    向后的单词
    ,然后执行
    杀死单词
    (指令更少)。另外,您可能不想绑定到
    M-。
    ,因为它通常用于移动到您正在查看的事物的声明。可能使用
    M-r
    -这是我从未发现有任何用处的命令。刚刚遇到的命令将vim的
    ci
    (和
    co
    )带到了Emacs。该软件包可从中获得,并且可以
    package install
    ed。
    (global-set-key (read-kbd-macro "M-.") 'delete-word-at-point)