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_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard 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 "\e\e[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 "\e\e[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 "\e\e[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 "\e\e[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 "\e\e[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 "\e\e[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 "\e\e[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 "\e\e[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 "\e\e[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 "\e\e[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 "\e\e[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 "\e\e[X" [M-f12])))

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

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

时间: 2024-11-14 18:25:57

putty与emacs的相关文章

PUTTY与SecureCRT的比较

转自:http://blog.csdn.net/russule/article/details/3023186 从网上看到别人对这两个工具的比较:从windows访问linux,除了samba之外,日常操作用得最多的大概就是PuTTY和SecureCRT Putty是免费的,SecureCRT是收费的(当然,有破解版). Putty缺省配置就很好看很好用,SecureCRT的缺省配置不是为linux准备的而且很难看.Putty拿来就可以立刻使用,SecureCRT需要经过复杂的配置之后才好用,而

Xming + PuTTY 在Windows下远程Linux主机

Xming + PuTTY 在Windows下远程Linux主机 一.原理     Linux/Unix的X Window具有网络透明性.X Window系统里有一个统一的Server来负责各个程序与显示器.键盘和鼠标等输入输出设备的交互,每个有GUI的应用程序都通过网络协议与 Server进行交互.所以对于任何一个应用程序,本地运行和远程运行的差别仅仅是X Server的地址不同,别的没有差别.所以在Windows运行一个X Server,就可以很方便的远程运行有GUI的Linux应用了.同时

我的Emacs效果展示

以下是小白的Emacs使用过程中的截图,以记录小白学习使用Emacs的过程,希望以此博文结交更多爱好Emacs的网友. 就先来这么几张图吧,后续有新的研究会继续来晒图,欢迎拍砖. 图1:可以玩2048游戏 图2:与LaTeX结合,可以写TeX文档 图3:大片中的Emacs,使用的是eshell模式 图4:我的Emacs可以连接远程主机 图5:使用putty工具进行远程主机的连接 图6:可以作图,ditaa.PlantUML等等 图7:检验Windows下的Emacs支持的图片类型(使用Gnu/L

给大家推荐个超棒的SSH and telnet client工具:putty!

从刚接触SSH到现在,一直都在用SecureCRT,感觉也挺不错. 但是一直没有见到书上说的颜色效果,只有是否为粗体之分. 今天在玩emacs的时候发现SecureCRT的alt键与emacs的Meta冲突了,于是上网搜索了下. 这才发现了putty这个好东西 putty官网 在官网下载下来后发现只有484KB SecureCRT有好几十MB..OK,这是第一个对比,继续往下. 用新下好的putty连接了下Linux服务器. 惊喜的发现原来不同的档案类型真的会显示成不同的颜色! 这好比一个色盲突

转:Xming + PuTTY 在Windows下远程Linux主机使用图形界面的程序

一.原理Linux/Unix的X Window具有网络透明性.X Window系统里有一个统一的Server来负责各个程序与显示器.键盘和鼠标等输入输出设备的交互,每个有GUI的应用程序都通过网络协议与 Server进行交互.所以对于任何一个应用程序,本地运行和远程运行的差别仅仅是X Server的地址不同,别的没有差别.所以在Windows运行一个X Server,就可以很方便的远程运行有GUI的Linux应用了.同时,OpenSSH具有X转发功能,可以将Linux主机的X程序通过SSH的管道

Linux C程序设计-emacs使用二

emacs打开文件后另存为其它文件: c-x c-w   然后输入另存为的文件路径及文件名 emacs 中的shell使用:(引用原文地址:http://www.ibm.com/developerworks/cn/linux/l-cn-emacs-shell/) 第一回 引子 GNU Emacs 是一个非常强大的编辑器,这个编辑器不仅可以用来写文章,写程序,更重要的是, 他可以和一些原本看似没有明显关系的应用程序在一起,合作创造出一些新的"不可思议"的应用.比如说可以在 GNU Ema

Emacs使用Tramp远程编辑服务器上的文件

TRAMP表示"Transparent Remote (file) Access, Multiple Protocol",它是Emacs的一个远程文件编辑的扩展包.安装方式非常简单,打开Emacs,按下"M-x"后,输入"package-list-packages",找到tramp扩展包即可点击安装. 在Windows下,Tramp已经与PuTTY包集成在一起了,使用plink程序.所以,要想在Windows下使用Emacs的Tramp功能,必须

使用XMing+putty运行linux图形界面程序

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 起因接下去的工作要作一些数值模拟,于是到师兄的工作站上开了个帐号.工作站运行的是RHEL4,要说远程SSH,就算是FTerm也足够胜任,不过,因为我要用的查看计算结果的软件需要使用图形界面,这一点就比较麻烦了.用VNC,一来耗费资源,二来VNC在win下的表现实在不咋样.参考记起上学期的VLSI设计的计算机实验,几十个人从运行Windows XP

windows下使用emacs+plink编辑远程文件

1)plink.exe属于putty套件, 注册到环境变量;emacs的bin目录也要注册到环境变量中; 2)在.emacs中增加如下: (require 'tramp)(setq tramp-default-method "plink") ;; 这样在emacs的minibuffer中C-x C-f之后就不必再输入/plink:(byte-compile-file "E:/tools/emacs-24.3/lisp/net/tramp-sh.el") ;; 避免错