专注于前端开发, 追求更好的用户体验, 更好的开发体验 [长沙前端QQ群:234746733]

2011年1月

  • VIM使用mswin.vim,vit不能全选tag内容的解决

    / 分类: 工具 / 6 Comments

    问题描述,比如下面的代码:<p>abcd1234中文</p>
    按vit既是选择p标签内的内容,但是因为最后的一个字符是中文,“文”字并没有选择到(纯英文或者数字是没问题的)。
    这个是使用mswin.vim导致的问题,源于mswin里的:behave mswin
    Ps: mswin是作者写的一个方便win用户使用习惯的插件

    "behave mswin =下面这四行,help behave可以看到vim的帮助
    set selectmode=mouse,key
    set mousemodel=popup
    set keymodel=startsel,stopsel
    set selection=exclusive

    而问题是selection=exclusive引起的,解决办法:
    1、注释掉vimrc里mswin.vim(这样win用户可能觉得很不方便,需要适应vim的默认快捷键)
    2、" behave mswin - 注释掉mswin里面的这句。在下面添加
    set selectmode=mouse,key
    set mousemodel=popup
    set keymodel=startsel,stopsel
    Ps:上面把selection=exclusive去掉了,即:selection=inclusive(光标所在位置也属于被选中的范围)
    3、在vimrc里添加:nnoremap vic vitl
    说明tag内只有英文或数字,按vit;当最后一个字符是中文,按vic,就可以选择最后的中文字符了。