V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coderoar
V2EX  ›  问与答

如何避免Alt组合键在GVIM下变成特殊字符

  •  
  •   coderoar · 2011-12-02 20:01:52 +08:00 · 5124 次点击
    这是一个创建于 4500 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的键盘上Alt键在其它程序下都没问题,唯独在GVIM里Alt组合键会被转义成特殊字符,跟AltGr/Compose key的效果有些类似,但是产生的字符又跟它们不太一样。

    输入Alt加字母输出以下字符:
    áâãäåæçèéêëìíîïðñòóôõö÷øùú

    输入Alt加数字输出以下字符:
    ±²³´µ¶·¸¹°

    怎么避免这种转义效果呢?
    7 条回复    1970-01-01 08:00:00 +08:00
    yangg
        1
    yangg  
       2011-12-02 21:02:44 +08:00
    同问,我的macvim也一样,
    Rice
        2
    Rice  
       2011-12-02 21:16:54 +08:00
    好像要在vimrc里加一段代码
    coderoar
        3
    coderoar  
    OP
       2011-12-02 21:19:55 +08:00
    @Rice 什么代码,能提示一下吗?
    Rice
        4
    Rice  
       2011-12-02 21:22:58 +08:00
    @coderoar 我是直接copy网上的。不知道代码是干什么的。


    set diffexpr=MyDiff()
    function MyDiff()
    let opt = '-a --binary '
    if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
    if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
    let arg1 = v:fname_in
    if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
    let arg2 = v:fname_new
    if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
    let arg3 = v:fname_out
    if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
    let eq = ''
    if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
    let cmd = '""' . $VIMRUNTIME . '\diff"'
    let eq = '"'
    else
    let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    endif
    else
    let cmd = $VIMRUNTIME . '\diff'
    endif
    silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
    endfunction
    yangg
        5
    yangg  
       2011-12-02 21:24:23 +08:00
    ls代码是设置diff的,比较文件用的,跟这个没关系,
    xell
        6
    xell  
       2011-12-02 23:21:55 +08:00
    也许帮助中的 :h digraph 有相关的说明?
    coderoar
        7
    coderoar  
    OP
       2011-12-03 08:16:34 +08:00
    @xell "The digraphs are easier to remember than the decimal number that can be entered with CTRL-V (see |i_CTRL-V|)." 这个说的是Ctrl-v组合键,没有提到Alt键。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1500 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:55 · PVG 07:55 · LAX 16:55 · JFK 19:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.