• putty与emacs


        win环境下putty登录到linux并使用emacs时,需要折腾好配置才能正常工作。下面是折腾过程中碰到的问题与解决步骤:

        1)要在putty控制台中启用鼠标,只需要在.emacs配置文件中启用xterm-mouse-mode:

    (xterm-mouse-mode t)

        这样在控制台中点击emacs菜单时,就会看到出现一个buffer,提示对应的菜单选项。

        2)右Alt键失效问题:我参考了emacs-wiki上的文章:https://www.emacswiki.org/emacs/PuTTY

        建立文本文件fix-alt-key.reg,写入:

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout]
    "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,38,00,38,e0,00,00,00,00

        双击执行即可。

        3)有些功能键,如Home,End,Fn等不能正常工作。先是将putty中的keyboard类型设置为SCO,这是唯一可以识别所有功能键的模式。接着在.emacs文件中增加如何键映射配置:

    (if (eq system-uses-terminfo t)
        (progn                              ;; PuTTY hack - needs to be in SCO mode
          (define-key key-translation-map [e] [M])
          (define-key input-decode-map "e[H" [home])
          (define-key input-decode-map "e[F" [end])
          (define-key input-decode-map "e[D" [S-left])
          (define-key input-decode-map "e[C" [S-right])
          (define-key input-decode-map "e[A" [S-up])
          (define-key input-decode-map "e[B" [S-down])
          (define-key input-decode-map "e[C" [S-right])
          (define-key input-decode-map "e[I" [prior])
          (define-key input-decode-map "e[G" [next])
          (define-key input-decode-map "e[M" [f1])
          (define-key input-decode-map "e[Y" [S-f1])
          (define-key input-decode-map "e[k" [C-f1])
          (define-key input-decode-map "ee[M" [M-f1])
          (define-key input-decode-map "e[N" [f2])
          (define-key input-decode-map "e[Z" [S-f2])
          (define-key input-decode-map "e[l" [C-f2])
          (define-key input-decode-map "ee[N" [M-f2])
          (define-key input-decode-map "e[O" [f3])
          (define-key input-decode-map "e[a" [S-f3])
          (define-key input-decode-map "e[m" [C-f3])
          (define-key input-decode-map "ee[O" [M-f3])
          (define-key input-decode-map "e[P" [f4])
          (define-key input-decode-map "e[b" [S-f4])
          (define-key input-decode-map "e[n" [C-f4])
          (define-key input-decode-map "ee[P" [M-f4])
          (define-key input-decode-map "e[Q" [f5])
          (define-key input-decode-map "e[c" [S-f5])
          (define-key input-decode-map "e[o" [C-f5])
          (define-key input-decode-map "ee[Q" [M-f5])
          (define-key input-decode-map "e[R" [f6])
          (define-key input-decode-map "e[d" [S-f6])
          (define-key input-decode-map "e[p" [C-f6])
          (define-key input-decode-map "ee[R" [M-f6])
          (define-key input-decode-map "e[S" [f7])
          (define-key input-decode-map "e[e" [S-f7])
          (define-key input-decode-map "e[q" [C-f7])
          (define-key input-decode-map "ee[S" [M-f7])
          (define-key input-decode-map "e[T" [f8])
          (define-key input-decode-map "e[f" [S-f8])
          (define-key input-decode-map "e[r" [C-f8])
          (define-key input-decode-map "ee[T" [M-f8])
          (define-key input-decode-map "e[U" [f9])
          (define-key input-decode-map "e[g" [S-f9])
          (define-key input-decode-map "e[s" [C-f9])
          (define-key input-decode-map "ee[U" [M-f9])
          (define-key input-decode-map "e[V" [f10])
          (define-key input-decode-map "e[h" [S-f10])
          (define-key input-decode-map "e[_" [C-f10])
          (define-key input-decode-map "ee[V" [M-f10])
          (define-key input-decode-map "e[W" [f11])
          (define-key input-decode-map "e[i" [S-f11])
          (define-key input-decode-map "e[u" [C-f11])
          (define-key input-decode-map "ee[W" [M-f11])
          (define-key input-decode-map "e[X" [f12])
          (define-key input-decode-map "e[j" [S-f12])
          (define-key input-decode-map "e[v" [C-f12])
          (define-key input-decode-map "ee[X" [M-f12])))

        这之后功能键就能正常识别了。putty的文档可以看这里:http://the.earth.li/~sgtatham/putty/0.62/htmldoc/Chapter4.html#config-keyboard

        以上问题解决后,putty中使用emacs就没有什么大问题了。不过我发现【CTRL-数字-键位】时无法执行,【CTRL-数字】被解释成了其它的功能。此点还需要进一步调查。

  • 相关阅读:
    RabbitMq(四)远程过程调用RPC
    RabbitMq(三)交换机类型
    RabbitMq(二)工作队列
    java基础知识01--JAVA准备
    匿名子类
    网络之Socket详解
    网络之Socket、TCP/IP、Http关系分析
    Eclipse搭建springboot项目(九)常用Starter和整合模板引擎thymeleaf
    Vue学习——Router传参问题
    sql函数——find_in_set()
  • 原文地址:https://www.cnblogs.com/Jackie-Snow/p/6819456.html
Copyright © 2020-2023  润新知