&引用;M-“;iTerm2/终端don和x27上vim中的绑定;行不通
我注意到它提供了使用“optionkey as+ESC”(或者作为meta,但显然已经过时)的非常方便的特性 我尝试了这两种方式,选项键在Bash(&引用;M-“;iTerm2/终端don和x27上vim中的绑定;行不通,vim,osx-lion,iterm,Vim,Osx Lion,Iterm,我注意到它提供了使用“optionkey as+ESC”(或者作为meta,但显然已经过时)的非常方便的特性 我尝试了这两种方式,选项键在Bash(set-o emacsmode)和emacs中都能正常工作,但在Vim中不能。因此,我不能使用任何“M-”绑定。 我发现: 若我将选项设置为“+ESC”,vim只理解ESC+键,不知道我实际上指的是元键 如果我将option设置为“meta”,那么使用“option”修改的键的行为就像没有修改器一样(不知道如何正式测试vim从我输入的键组合中理解的
set-o emacs
mode)和emacs中都能正常工作,但在Vim中不能。因此,我不能使用任何“M-”绑定。
我发现:
- 若我将选项设置为“+ESC”,vim只理解ESC+键,不知道我实际上指的是元键
- 如果我将option设置为“meta”,那么使用“option”修改的键的行为就像没有修改器一样(不知道如何正式测试vim从我输入的键组合中理解的内容)
- MAC OS X Lion 10.7.2
- iTerm2 1.0.0.20111020
- vim@7.3.107_0+蟒蛇26[通过MacPorts]
I
)打印的内容:
- 选项作为选项:
Vim打印
,这是正常的,在我的法语键盘上也是正常的æ
- 选项作为元:
维姆呆在那里,等待着什么事情发生。没有打印任何内容。如果我依次按下Option和
,我只会得到a
。按Option和a
的随机顺序可能会打印a
,这很奇怪,完全出乎意料a
- 选项as+ESC:
Vim打印
,意思是“转义字符后跟字符a”^[a
如果您坚持使用“Option as+ESC”,那么您似乎必须将所有自定义的
映射更改为某个东西。这可能会起作用,但这会使用任何非英语语言编写任何类型的散文都成为一种痛苦
我要做的是:我保留选项键的原样,这样我可以轻松地键入像œ…«»
这样的字符,并且我使用
(映射到,
,请参见:help mapleader
)来进行所有自定义映射
这里的一些人喜欢为插件保留它,并提倡一种更简单、更安全的方法
inoremap <leader>, <C-x><C-o> "my way (copied elsewhere)
inoremap ,, <C-x><C-o> "another way
inoremap,“我的方式(复制到别处)
inoremap,,“另一种方式
我留下了我的选项键来正常工作,发现Vim精确地将它们视为。Vim从未获得任何类型的
组合。问题是,我使用的几个插件具有M-
绑定,不方便与插件混淆。也许有一个Vim补丁可以诱使它转换re快速使用Esc+键
进入
?我还想映射
和
这样的东西,来做Alt+(向上|向下)
在Eclipse中所做的事情(即,将一行或多行移过上面/下面的行)。如果我要映射Esc+(j | k)
相反,当我退出插入模式并真正按下其中一个移动键时,这将是一件痛苦的事情……你能列出需要
的插件吗?我的~/.vimrc
中有nnoremap j
和nnoremap k
。Vim不是Eclipse或Notepad++或TextMate:你不能像那样导入所有的习惯。哟我们的肌肉记忆必须经过重新训练才能有效地使用它。这肯定是有代价的。我不确定,请参见:帮助映射alt键:看起来Vim在这方面可能有点有限。有时人们使用术语“Meta”的解释非常狭义,意思是“具有高位集的ASCII字符”;然而,更普遍的是“Meta”可以表示使用高位或带有ESC的前缀。我从措辞中假设“Option as Meta”特别表示“设置高位”,这与使用UTF-8(或其他8位)编码不兼容。现代终端模拟器通常默认为UTF-8,并要求对“Meta”使用ESC前缀。Mac OS X终端的“option as meta key”选项仅表示“前缀带ESC”。在Mac中有映射“option+char”的解决方案。
noremap! <T-Right> <C-o><Right>;