It should normally be kept at its default value, or set when Vim
starts up. See |multibyte|. To reload the menus see |:menutrans|.
+ This option cannot be set from a |modeline|. It would most likely
+ corrupt the text.
+
NOTE: For GTK+ 2 it is highly recommended to set 'encoding' to
"utf-8". Although care has been taken to allow different values of
'encoding', "utf-8" is the natural choice for the environment and
feature}
{not in Vi}
Sets the character encoding for the file of this buffer.
+
When 'fileencoding' is different from 'encoding', conversion will be
done when writing the file. For reading see below.
When 'fileencoding' is empty, the same value as 'encoding' will be
is most likely done in a way that the reverse conversion
results in the same text. When 'encoding' is not "utf-8" some
characters may be lost!
+
See 'encoding' for the possible values. Additionally, values may be
specified that can be handled by the converter, see
|mbyte-conversion|.
+
When reading a file 'fileencoding' will be set from 'fileencodings'.
To read a file in a certain encoding it won't work by setting
'fileencoding', use the |++enc| argument. One exception: when
'fileencodings' is empty the value of 'fileencoding' is used.
For a new file the global value of 'fileencoding' is used.
+
Prepending "8bit-" and "2byte-" has no meaning here, they are ignored.
When the option is set, the value is converted to lowercase. Thus
you can set it with uppercase values too. '_' characters are
replaced with '-'. If a name is recognized from the list for
'encoding', it is replaced by the standard name. For example
"ISO8859-2" becomes "iso-8859-2".
+
When this option is set, after starting to edit a file, the 'modified'
option is set, because the file would be different when written.
- If you do this in a modeline, you might want to set 'nomodified' to
- avoid this.
+
+ Keep in mind that changing 'fenc' from a modeline happens
+ AFTER the text has been read, thus it applies to when the file will be
+ written. If you do set 'fenc' in a modeline, you might want to set
+ 'nomodified' to avoid not being able to ":q".
+
This option can not be changed when 'modifiable' is off.
*'fe'*
'arabicshape' when there is a character on the command line for which
(ARABIC_CHAR(u8c)) is TRUE.
-Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520
-by Vissale Neang. (Martin Stubenschrott)
-Asked Vissale to make the scripts more friendly for the Vim distribution.
-New version received 2008 Jan 6.
-
Cheng Fang made javacomplete. (2007 Aug 11)
Asked about latest version: 0.77.1 is on www.vim.org.
feature. (Matt Wozniski, 2009 Apr 15)
Patch go make gui highlight settings work in Vim without +gui feature.
(Matt Wozniski, 2009 Mar 27)
+- Replace ccomplete.vim by cppcomplete.vim from www.vim.org? script 1520 by
+ Vissale Neang. (Martin Stubenschrott)
+ Asked Vissale to make the scripts more friendly for the Vim distribution.
+ New version received 2008 Jan 6.
- Patch for supporting #rrggbb in color terminals. (Matt Wozniski)
6 In the quickfix window statusline add the command used to get the list of
errors, e.g. ":make foo", ":grep something *.c".
Fix for invalid memory access. (Lech Lorens, 2009 Apr 17)
- Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)
Needs a few tests.
-- Disable setting 'encoding' from a modeline? It usually causes problems,
- can't do any good. (Patch from Patrick Texier, 2008 Dec 9)
- Redraw problem when appending digraph causes line to wrap. (James Vega, 2007
Sep 18) Patch by Ian Kelling, 2008 Aug 8.
- Patch for colorscheme submenu. (Juergen Kraemer, 2008 Aug 20)
#define P_INSECURE 0x400000L/* option was set from a modeline */
#define P_PRI_MKRC 0x800000L/* priority for :mkvimrc (setting option has
side effects) */
+#define P_NO_ML 0x1000000L/* not allowed in modeline */
#define ISK_LATIN1 (char_u *)"@,48-57,_,192-255"
{"edcompatible","ed", P_BOOL|P_VI_DEF,
(char_u *)&p_ed, PV_NONE,
{(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT},
- {"encoding", "enc", P_STRING|P_VI_DEF|P_RCLR,
+ {"encoding", "enc", P_STRING|P_VI_DEF|P_RCLR|P_NO_ML,
#ifdef FEAT_MBYTE
(char_u *)&p_enc, PV_NONE,
{(char_u *)ENC_DFLT, (char_u *)0L}
/* Disallow changing some options from modelines. */
if (opt_flags & OPT_MODELINE)
{
- if (flags & P_SECURE)
+ if (flags & (P_SECURE | P_NO_ML))
{
errmsg = (char_u *)_("E520: Not allowed in a modeline");
goto skip;