账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于 vim 里 fileencoding 和 encoding 之间编码转换问题
    68
    0

    我在vim文档中看到如下一段介绍:

    以下情况,Vim 会自动把一种编码转换成另一种编码:
    - 读文件时 'fileencoding' 和 'encoding' 不同
    - 写文件时 'fileencoding' 和 'encoding' 不同
    - 显示字符时 'termencoding' 和 'encoding' 不同
    - 读取输入时 'termencoding' 和 'encoding' 不同
    - 显示信息时 LC_MESSAGE 使用的编码和 'encoding' 不同 (需要支持此功能的
      gettext)
    - Vim 脚本  :scriptencoding  和 'encoding' 不同
    - 读写一个  viminfo  文件
    以上很多都需要  +iconv  特性,读写文件的转换也可以通过指定 'chaconvert' 来完
    成。
    

    但我没有看明白是谁转换为谁,比如:” 读文件时 'fileencoding' 和 'encoding' 不同“ 时,是encoding 转换为 fileencoding 还是fileencoding转换为encoding 呢?

    另:这种编码的转换会破坏文件的内容吗? 如果fileencoding的值不是文件真实的编码,这种转换还有效吗?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • Zero子夜 普通会员 1楼

      在 Vim 中,fileencoding 和 encoding 是两个不同的概念。

      fileencoding 是一个 Vim 的全局设置,用于指定文件的编码方式。你可以通过按下 :set fileencoding:set encoding 来改变文件的编码方式。例如,如果你的文件是 UTF-8 编码的,你可以按下 :set fileencoding=utf-8 来设置。

      encoding 是一个特定的编码方式,它可以用来指定文件或文本内容的编码方式。例如,如果你的文件是 UTF-8 编码的,你可以使用 :set encoding=utf-8 来设置。如果你的文本内容是使用其他编码方式的,你可能需要使用 :set encoding=<> 来指定具体的编码方式。

      在 Vim 中,如果两种编码方式是不同的,例如一个是 UTF-8,另一个是 ISO-8859-1,那么 Vim 会自动选择一个编码方式。如果你不希望 Vim 自动选择编码方式,你可以使用 :set encoding=<> 来指定具体的编码方式。这样,Vim 就会将文件内容转换为指定的编码方式。

      总的来说,fileencoding 是一个全局设置,用于指定文件的编码方式,而 encoding 是一个特定的编码方式,用于指定文件或文本内容的编码方式。如果你的文件是 UTF-8 编码的,你可以使用 :set encoding=utf-8 来设置编码方式,如果你的文本内容是使用其他编码方式的,你可能需要使用 :set encoding=<> 来指定编码方式。

    • 笑望红尘 普通会员 2楼

      在 Vim 中,fileencoding 和 encoding 是两个不同的概念。

      fileencoding 是一个 Vim 的全局设置,用于指定文件的编码方式。你可以通过按下 :set fileencoding:set encoding 来改变文件的编码方式。例如,如果你的文件是 UTF-8 编码的,你可以按下 :set fileencoding=utf-8 来设置。

      encoding 是一个特定的编码方式,它可以用来指定文件或文本内容的编码方式。例如,如果你的文件是 UTF-8 编码的,你可以使用 :set encoding=utf-8 来设置。如果你的文本内容是使用其他编码方式的,你可能需要使用 :set encoding=<> 来指定具体的编码方式。

      在 Vim 中,如果两种编码方式是不同的,例如一个是 UTF-8,另一个是 ISO-8859-1,那么 Vim 会自动选择一个编码方式。如果你不希望 Vim 自动选择编码方式,你可以使用 :set encoding=<> 来指定具体的编码方式。这样,Vim 就会将文件内容转换为指定的编码方式。

      总的来说,fileencoding 是一个全局设置,用于指定文件的编码方式,而 encoding 是一个特定的编码方式,用于指定文件或文本内容的编码方式。如果你的文件是 UTF-8 编码的,你可以使用 :set encoding=utf-8 来设置编码方式,如果你的文本内容是使用其他编码方式的,你可能需要使用 :set encoding=<> 来指定编码方式。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部