I have recently started using a Mac OS X Lion system and tried to use Vim in terminal. I previously had a .vimrc file in my Ubuntu system and had F2 and F5 keys mapped to pastetoggle and run python interpreter. Here are the two lines I have for it:
set pastetoggle=<F2>
map <buffer> <F5> :wa<CR>:!/usr/bin/env python % <CR>
It's working just fine in Ubuntu but no longer works in Mac. (The above two lines are in .vimrc under my home dir.) I have turned off the Mac specific functions in my preference so the function keys are not been used for things like volume. Right now pressing F5 seems to capitalize all letters until next word, and F2 seems to delete next line and insert O.....
我还需要做些什么才能让它按预期工作吗?
此外,我一直使用 Solarized 作为我的配色方案,并尝试在 Mac 中使用相同的配色方案。看起来scheme命令是从.vimrc中读取的,但颜色仍然是默认颜色。即使 .vim/colors 文件与以前相同。这是我需要修复的相关错误吗?也许在我自己的设置文件之后又读取了另一个设置文件? (我寻找 _vimrc 和 .gvimrc,但不存在。)
Thanks!
我终于通过添加如下映射来使函数映射正常工作:
if has('mac') && ($TERM == 'xterm-256color' || $TERM == 'screen-256color')
map <Esc>OP <F1>
map <Esc>OQ <F2>
map <Esc>OR <F3>
map <Esc>OS <F4>
map <Esc>[16~ <F5>
map <Esc>[17~ <F6>
map <Esc>[18~ <F7>
map <Esc>[19~ <F8>
map <Esc>[20~ <F9>
map <Esc>[21~ <F10>
map <Esc>[23~ <F11>
map <Esc>[24~ <F12>
endif
如果您需要验证这些转义序列是否与您的终端匹配或设置您自己的终端,那么这些问题的答案很有帮助:
vim 中的功能键映射 https://stackoverflow.com/questions/3519532/mapping-function-keys-in-vim
绑定特殊键作为vim快捷键 https://stackoverflow.com/questions/9950944/binding-special-keys-as-vim-shortcuts
这可能取决于终端模拟器的一致行为(笑),但@Mark Carey 的建议对我来说还不够(我希望它如此简单)。对于 OS X 上的 iTerm2,我已经将其配置为xterm-256color
和 tmux 的screen-256color
,并且函数映射仍然不起作用。所以has('mac')
如果 iTerm2 中的这些序列与 xterm 兼容,则可能是不必要的,我尚未检查,因此暂时将其保留在我自己的配置中。
你可能想要一些imap
版本也有。请注意,您不应该使用noremap
自你以来的变体do希望这些映射级联(以触发您映射的任何内容)<Fx>
to).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)