Emacs 如何在增量搜索中启用退格?

Emacs 如何在增量搜索中启用退格?,emacs,putty,emacs23,Emacs,Putty,Emacs23,如何改变这种行为: C-s-开始增量搜索 键入word-最后一个字符打印错误 退格-哎呀!增量搜索消失,我实际上从缓冲区中删除了1个字符 对此: C-s-开始增量搜索 word-最后一个字符打印错误 退格-删除最后一个d字符 键入k-work-更正,然后继续搜索 我在PuTTY中通过SSH在文本终端中运行Emacs 操作系统版本:2.6.16.60-0.58.1.1882.3.PTF.638363-smp#1 smp Wed Dec 2 12:27:56 UTC 2009 x86_64 x86_

如何改变这种行为:

  • C-s
    -开始增量搜索
  • 键入
    word
    -最后一个字符打印错误
  • 退格-哎呀!增量搜索消失,我实际上从缓冲区中删除了1个字符
  • 对此:

  • C-s
    -开始增量搜索
  • word
    -最后一个字符打印错误
  • 退格-删除最后一个
    d
    字符
  • 键入
    k
    -
    work
    -更正,然后继续搜索
  • 我在PuTTY中通过SSH在文本终端中运行Emacs

    操作系统版本:2.6.16.60-0.58.1.1882.3.PTF.638363-smp#1 smp Wed Dec 2 12:27:56 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux

    Emacs版本:2010-07-16的GNU Emacs 23.2.1(x86_64-unknown-linux-GNU,GTK+版本2.14.6)

    使用
    -q
    选项,PuTTY发送的Backspace只是
    C-h
    ,它的行为类似于
    C-h
    ,但在我的
    .emacs
    文件I中,它绑定到
    删除向后字符

    (global-set-key [(control h)] 'delete-backward-char)
    
    试试这个:

    (define-key isearch-mode-map [(control h)] 'isearch-delete-char)
    

    您应该如何使用Emacs:

  • C-s-启动增量搜索
  • 键入word-打印错最后一个字符
  • M-e-在minibuffer中进入编辑搜索词内容模式:-)
  • 纠正错误
  • C-s-继续增量搜索

  • 您应该做的是将PuTTY配置为发送
    C-?
    (字节127)作为退格,而不是
    C-h
    (字节8)。这是在大多数情况下效果最好的设置。见

    如果由于其他应用程序无法工作而将PuTTY设置更改为send
    C-h
    ,请检查服务器上的终端设置是否正确。该设置通常会被正确地自动检测到,但有时您可能需要将
    stty erase'^?
    添加到服务器上的shell配置文件(
    .bashrc
    或类似文件)中


    如果您确实必须使用退格发送
    C-h
    ,那么全局重新绑定
    C-h
    是不够的。相反,将
    (正常擦除是退格模式1)
    添加到
    .emacs
    。请参阅。

    这应该是现成的。您使用的是什么操作系统?您是在GUI中运行Emacs还是在文本终端中运行Emacs?如果运行
    emacs-q
    ,是否会看到相同的行为?那emacs-Q呢?按下
    C-hc Backspace
    时显示什么?答案在上面。emacs-Q与emacs-Q类似,但没有欢迎屏幕。C-h C退格-正如我所说,退格只是C-h,通过腻子。我改变了答案。试试看。你是对的,我把退格改成C-h是因为过去的终端设置错误,现在不需要了。