Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2349484
  • 博文数量: 527
  • 博客积分: 10343
  • 博客等级: 上将
  • 技术积分: 5565
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-26 23:05
文章分类

全部博文(527)

文章存档

2014年(4)

2012年(13)

2011年(19)

2010年(91)

2009年(136)

2008年(142)

2007年(80)

2006年(29)

2005年(13)

我的朋友

分类: WINDOWS

2007-12-15 18:38:53

set encoding=cp936

map 1gt
可以通过 Alt + 数字1 切换到第一个tab中去, 当然, 这是vim7的新功能.

但我经常要处理不同编码格式的文件, vim对文件编码的判断又不是100%准确的, 所以我还定义了一个命令:
:command U8 :set enc=utf-8

但切换到utf-8编码后, 不能生效了, 此时查看映射到哪了?

:map
显示是:
±  1gt
不知道切换内部编码后为什么变成了这个样子, 一个猜测是vim在内部对 Alt + 1编码时使用了8bit中的某些特殊位, 造成在切换内码后对它解释成了其它字符.

对这一问题的 work-around当然是在切换编码事件中重设这一映射, 对于我的习惯, 希望把 ALT + 1-9都映射到对应的文档中去, 不知道有人注意没有, FireFox也是用CTRL + 1打开第一个tab页的网页, 2-9依次类推, 但是CTRL+1对一般人很难按, ALT+数字则可以充分利用大拇指和其它手指之间间距最大的优势.


function! s:Set_Tab_switch_shortcut()
    :nmap! 1gt
    :nmap! 2gt
    :nmap! 3gt
    :nmap! 4gt
    :nmap! 5gt
    :nmap! 6gt
    :nmap! 7gt
    :nmap! 8gt
    :nmap! 9gt
endfunction
:au EncodingChanged * :call Set_Message_Enconding()


注意如果你还知道用 Meta来代替Alt, 很可能象我一样被导误: 在encoding改变后设置 映射可以工作了, 这貌似在一种编码下Alt可以生效, 而另一种编码下是Meta, 不是这样!
阅读(2051) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~