Heim  >  Fragen und Antworten  >  Hauptteil

Zwei Probleme mit Vim unter Windows

Frage 1: So lösen Sie verstümmelte Zeichen

Unter Windows 8 gibt es zwei Arten von verstümmelten Zeichen:
- Das erste Problem sind verstümmelte Zeichen beim Starten der Begrüßungsoberfläche
- Die zweite Erscheinungsform ist (zum Beispiel): Wenn Sie eine bestimmte Suche durchführen und die Suche das Ende erreicht hat, zeigt Vim in der Befehlsleiste die Meldung „Das Ende ist erreicht“ an, aber meistens wird die Befehlsleiste angezeigt als verstümmelte Zeichen.

Darüber hinaus lauten meine Einstellungen für die Dateikodierung in .vimrc wie folgt: Vollständige .vimrc-Konfiguration

shellset nocp
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,big5,gb2312,latin1,cp936,gb18030
set ffs=unix,dos,mac
set mousehide
set showcmd

Frage 2: Mit Zwischenablage kopieren und einfügen

Ich habe die Maus in .vimrc deaktiviert, sodass die Maus nicht funktioniert. Wie interagiere ich also beim Kopieren und Einfügen mit der Zwischenablage?

巴扎黑巴扎黑2736 Tage vor653

Antworte allen(4)Ich werde antworten

  • 漂亮男人

    漂亮男人2017-05-16 16:41:35

    我的这一段设置是

    vimrcif has("gui_running")
    set encoding=utf-8
    set fileencodings=utf-8,chinese,latin-1
    
    if has("win32")
    set fileencoding=chinese
    else
    set fileencoding=utf-8
    endif
    
    let &termencoding=&encoding
    
    "解决菜单乱码
    source $VIMRUNTIME/delmenu.vim
    source $VIMRUNTIME/menu.vim
    
    "解决consle输出乱码
    language messages zh_CN.utf-8
    endif
    

    在命令行下,或者gvim里面都是正常的。包括菜单,下面的提示等都能正确的显示中文,你可以试试。我用的是win8.1的系统。


    复制和粘贴,我用的是"+y"+p

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 16:41:35

    我怎么记得7.4以后不用特别设置就支持中文了
    和剪贴板互动,如果vimrc中启用了ms-win。可以用v进入选择模式,Ctrl-c v。 更vi的做法是在y或者p的时候,先用 "+ 或者 "* 选择系统寄存器,也就是剪贴板。

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-05-16 16:41:35

    其他的配置不说, 单这一句, 肯定是有大问题的:

    set termencoding=utf-8
    

    这个设置的是界面的编码, 而WINDOWS绝对绝对不是UTF-8的, 你把这个设置去掉试试

    Antwort
    0
  • 怪我咯

    怪我咯2017-05-16 16:41:35

    CMD默认是GBK编码的,你把termencoding设置为utf-8不乱码才怪了,解决的办法 …… 改termencoding不太方便,干脆用gvim算了。

    另,与系统剪切板互通的问题,可以配置下clipboard,我的配置拷贝自 spf13-vim:

    vimlif has('clipboard')
        if has('unnamedplus')  " When possible use + register for copy-paste
            set clipboard=unnamed,unnamedplus
        else         " On mac and Windows, use * register for copy-paste
            set clipboard=unnamed
        endif
    endif
    

    详情可参考:http://vim.wikia.com/wiki/Accessing_the_system_clipboard

    Antwort
    0
  • StornierenAntwort