vim中如何把Super键映射成ESC键(求助)

Vim、Emacs配置和使用
回复
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

vim中如何把Super键映射成ESC键(求助)

#1

帖子 Jarson » 2010-03-05 8:38

RT
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim中如何把Super键映射成ESC键(求助)

#2

帖子 lilydjwg » 2010-03-05 22:28

应该做不到。但可以在 X 下或者(纯)终端下实现。

这是在 X 下交换 CapsLock 和 Esc 的脚本:

代码: 全选

#!/bin/sh

# 交换 CapsLock 和 Esc

xmodmap - <<EOF
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
EOF
echo 已经交换 Caps_Lock 和 Escape 键。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: vim中如何把Super键映射成ESC键(求助)

#3

帖子 eexpress » 2010-03-05 22:32

super按键,可是被X认成修饰键的哦。就如同ctrl shift
虽然有一个键值。这映射麻烦的。记得有人搞过。
● 鸣学
头像
sweating
帖子: 200
注册时间: 2009-02-07 18:01

Re: vim中如何把Super键映射成ESC键(求助)

#4

帖子 sweating » 2010-03-05 22:34

并且建议映射到Caps Lock键而非sup键上
sup还是一只很好用的快捷键
顺便拜神..........
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

Re: vim中如何把Super键映射成ESC键(求助)

#5

帖子 Jarson » 2010-03-06 8:47

lilydjwg 写了:应该做不到。但可以在 X 下或者(纯)终端下实现。

这是在 X 下交换 CapsLock 和 Esc 的脚本:

代码: 全选

#!/bin/sh

# 交换 CapsLock 和 Esc

xmodmap - <<EOF
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
EOF
echo 已经交换 Caps_Lock 和 Escape 键。
这个脚本只是实现在vim中 CapsLock 和 Esc按键的交换吧,会不会影响到其他程序中 CapsLock按键的使用。
是不是执行一次脚本就可以永久生效的呀(即不用每次都执行脚本)

恩,把Esc映射到Caps_Lock也是个好主意,因为之前不懂得如何在不打开Caps_Lock的前提下输入大写,才想把Esc映射到super,现在懂了,o(∩_∩)o...哈哈

ps:平时还真不知道怎么使用super键 :em20
头像
sweating
帖子: 200
注册时间: 2009-02-07 18:01

Re: vim中如何把Super键映射成ESC键(求助)

#6

帖子 sweating » 2010-03-06 10:16

fhc2007 写了:
lilydjwg 写了:应该做不到。但可以在 X 下或者(纯)终端下实现。

这是在 X 下交换 CapsLock 和 Esc 的脚本:

代码: 全选

#!/bin/sh

# 交换 CapsLock 和 Esc

xmodmap - <<EOF
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
EOF
echo 已经交换 Caps_Lock 和 Escape 键。
这个脚本只是实现在vim中 CapsLock 和 Esc按键的交换吧,会不会影响到其他程序中 CapsLock按键的使用。
是不是执行一次脚本就可以永久生效的呀(即不用每次都执行脚本)

恩,把Esc映射到Caps_Lock也是个好主意,因为之前不懂得如何在不打开Caps_Lock的前提下输入大写,才想把Esc映射到super,现在懂了,o(∩_∩)o...哈哈

ps:平时还真不知道怎么使用super键 :em20
这个脚本是全局的交换
不是很清楚Gnome的配置
如果用fvwm,sawfish等等的话,感觉就是快捷键真是少,所以不想丢super键(好吧,其实还有一个原因是我用emacs)
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: vim中如何把Super键映射成ESC键(求助)

#7

帖子 lilydjwg » 2010-03-06 14:00

fhc2007 写了:
lilydjwg 写了:应该做不到。但可以在 X 下或者(纯)终端下实现。

这是在 X 下交换 CapsLock 和 Esc 的脚本:

代码: 全选

#!/bin/sh

# 交换 CapsLock 和 Esc

xmodmap - <<EOF
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
EOF
echo 已经交换 Caps_Lock 和 Escape 键。
这个脚本只是实现在vim中 CapsLock 和 Esc按键的交换吧,会不会影响到其他程序中 CapsLock按键的使用。
是不是执行一次脚本就可以永久生效的呀(即不用每次都执行脚本)

恩,把Esc映射到Caps_Lock也是个好主意,因为之前不懂得如何在不打开Caps_Lock的前提下输入大写,才想把Esc映射到super,现在懂了,o(∩_∩)o...哈哈

ps:平时还真不知道怎么使用super键 :em20
这是一次性的 X 全局有效的。如果要用,建议加到启动项中去。不过如果切换到其它 tty (Ctrl+Alt+Fn)后再切换回来,或者休眠后也会失效。

我在 compiz 和 Gnome 的快捷键设置中设置了好些 Super 快捷键,如 Super + G -> Gvim, Super + T -> terminal, Super + Q -> QQ 等等。
头像
sweating
帖子: 200
注册时间: 2009-02-07 18:01

Re: vim中如何把Super键映射成ESC键(求助)

#8

帖子 sweating » 2010-03-06 14:50

lilydjwg 写了:
fhc2007 写了:
lilydjwg 写了:应该做不到。但可以在 X 下或者(纯)终端下实现。

这是在 X 下交换 CapsLock 和 Esc 的脚本:

代码: 全选

#!/bin/sh

# 交换 CapsLock 和 Esc

xmodmap - <<EOF
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
EOF
echo 已经交换 Caps_Lock 和 Escape 键。
这个脚本只是实现在vim中 CapsLock 和 Esc按键的交换吧,会不会影响到其他程序中 CapsLock按键的使用。
是不是执行一次脚本就可以永久生效的呀(即不用每次都执行脚本)

恩,把Esc映射到Caps_Lock也是个好主意,因为之前不懂得如何在不打开Caps_Lock的前提下输入大写,才想把Esc映射到super,现在懂了,o(∩_∩)o...哈哈

ps:平时还真不知道怎么使用super键 :em20
这是一次性的 X 全局有效的。如果要用,建议加到启动项中去。不过如果切换到其它 tty (Ctrl+Alt+Fn)后再切换回来,或者休眠后也会失效。

我在 compiz 和 Gnome 的快捷键设置中设置了好些 Super 快捷键,如 Super + G -> Gvim, Super + T -> terminal, Super + Q -> QQ 等等。
询问设计这种快捷键的思路是怎么
这种快捷键指的是
S-n S-r在n号pager上打开rxvt
S-n S-f在n号pager上打开firefox
.........
我一直想要实现这种快捷键但是没有找到方法.........
hunterzhu
帖子: 30
注册时间: 2008-10-12 17:04

Re: vim中如何把Super键映射成ESC键(求助)

#9

帖子 hunterzhu » 2013-04-30 18:58

lilydjwg 写了:应该做不到。但可以在 X 下或者(纯)终端下实现。

这是在 X 下交换 CapsLock 和 Esc 的脚本:

代码: 全选

#!/bin/sh

# 交换 CapsLock 和 Esc

xmodmap - <<EOF
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
EOF
echo 已经交换 Caps_Lock 和 Escape 键。
thx 暂时u1204能用
回复