sponsor Vim development Vim logo Vim Book Ad

AutoFenc : Tries to automatically detect and set file encoding

 script karma  Rating 69/32, Downloaded by 5322  Comments, bugs, improvements  Vim wiki

created by
Petr Zemek
script type
A Vim plugin that tries to automatically detect and set file encoding when opening a file. See https://github.com/s3rvac/AutoFenc for more details and configuration options.
install details
Put the AutoFenc.vim file into your $HOME/.vim/plugin directory (Linux-like systems) or %UserProfile%\vimfiles\plugin folder (Windows systems).

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
AutoFenc.vim 1.5.1 2014-05-03 7.0 Petr Zemek - Cleanup.
- Put the sources to GitHub (https://github.com/s3rvac/AutoFenc).
AutoFenc.vim 1.5 2012-03-17 7.0 Petr Zemek Thanks to Ingo Karkat for the updates in this version.
- Supported HTML/XML/CSS file types have been made configurable and added more defaults.
- Do not emit the "unrecognized charset" message when the encoding is known.
AutoFenc.vim 1.4 2012-03-11 7.0 Petr Zemek Thanks to Ingo Karkat for the updates in this version.
- Improved the detection regexp for comments:
    - added "fileencoding" and "charset";
    - demands that there is a whitespace in front of the keyword, so that "daycoding" doesn't match;
    - g:autofenc_autodetect_commentexpr allows to configure the pattern for comment detection.
- Introduced g:autofenc_enc_blacklist to disable some encodings. For example, the enca tool has a tendency to detect plain text files as UTF-7. With the blacklist, AutoFenc can be instructed to ignore those encodings.
- The check for ASCII is set to be case-insensitive because enca reports this in uppercase, so the condition fails unless ignorecase is set.
- Keeps changed CWD with 'autochdir' setting by temporarily disabling it. For example, suppose that a user has ":lcd .." in after/ftplugin/gitcommit.vim and that he is in the Git root directory, not the .git subdir when composing a commit message. The reload of the buffer by AutoFenc (via :edit) again triggered the automatic change of the working dir, and therefore the customization was lost. The 'autochdir' setting needs to be temporarily disabled to avoid that.
- Added a support for plain Vim 7.0 in the shellescape() emulation from version 1.3.4. Otherwise, there were errors in Vim 7.0.
AutoFenc.vim 1.3.4 2012-02-27 7.0 Petr Zemek - Don't override when the user explicitly sets file encoding with ++enc (thanks to Benjamin Fritz).
- Fixed TOhtml version detection (again) and made sure line continuations can actually be used (thanks to Benjamin Fritz and Ingo Karkat).
- Disabled the option shellslash on Windows before calling shellescape() (it may cause problems on Windows, thanks for the tip goes to Benjamin Fritz).
AutoFenc.vim 1.3.3 2011-11-29 7.0 Petr Zemek Thanks to Ingo Karkat for the updates in this version.
- Fixed a problem in the TOhtml detection when, for example, g:loaded_2html_plugin = 'vim7.3_v6'.
- The return code of the call of an external program via system(ext_prog_cmd) is now checked. This prevents Vim interpreting an error message as an encoding.
- shellescape() is now used instead of quoting file_path manually.
AutoFenc.vim 1.3.2 2011-11-24 7.0 Petr Zemek Thanks to Benjamin Fritz for the updates in this version.
- Fixed the detection of the version of the TOhtml plugin.
AutoFenc.vim 1.3.1 2011-07-23 7.0 Petr Zemek Thanks to Benjamin Fritz for the updates in this version.
- Fixed the plugin behavior when reloading a file with different settings.
AutoFenc.vim 1.3 2011-04-22 7.0 Petr Zemek Thanks to Benjamin Fritz for the updates in this version.
  - Added support for HTML version 5 encoding detection.
  - The script now dies gracefully in old Vims.
  - 'g:autofenc_autodetect_comment_num_of_lines' renamed to 'g:autofenc_autodetect_num_of_lines'
AutoFenc.vim 1.2.1 2011-04-13 7.0 Petr Zemek Fixed a typo in a variable name (this resulted in an error in some occasions). Thanks to Charles Lee for pointing this bug out.
AutoFenc.vim 1.2 2011-03-31 7.0 Petr Zemek Thanks to Benjamin Fritz for the updates in this version.
  - TOhtml's IANA name/Vim encoding conversion functions are now used.
  - Changed BOM detection so it does not duplicate a check Vim already did by default (i.e. default to off if ucs-bom is in the 'fileencodings').
  - Put autocmds in the AutoFenc augroup for easier handling.
  - Made autocmd nested so we don't need to worry about restoring everything that other autocmds may set (e.g. syntax).
  - Jumplist or cursor position during detection are not affected.
  - The g:autofenc_autodetect_comment_num_of_lines option is now used also in HTML/XML/CSS detection routines (previously only used for encoding specified in comments).
  - Improved HTML charset line regex.
  - Added an option (g:autofenc_emit_messages) to emit messages about the detected/used encoding upon opening a file.
AutoFenc.vim 1.1.1 2009-10-03 7.0 Petr Zemek Fixed the comment encoding detection function (see changelog).
AutoFenc.vim 1.1 2009-08-16 7.0 Petr Zemek Added three configuration possibilites to disable autodetection for specific files (based on file size, file type and file path). See script description for more info.
AutoFenc.vim 1.0.2 2009-08-11 7.0 Petr Zemek Fixed the XML encoding detection function and minor code and documentation fixes.
AutoFenc.vim 1.0.1 2009-08-02 7.0 Petr Zemek Three bugfixes (see changelog).
AutoFenc.vim 1.0 2009-07-26 7.2 Petr Zemek Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.