Character bracketing

18 views
Skip to first unread message

Fameli, Nicola

unread,
Oct 17, 2020, 5:49:25 AM10/17/20
to vim...@vim.org

Hi there,


something's up with my vi(m) editor in my mac pro Terminal app (Mac OS Catalina) and it's driving me insane.


It happens when I make a new file, say a python function in which I might write from the command line:

$vim function.py

def function(variable):

   pass

then I type :wq to save it and exit.

Next time I open it I'll see each letter bracketed by ^@, as in:

^@d^@^@e^@^@f^@ ^@f^@^@u^@^@n... you get the idea.


Interestingly, if I add text to an existing file, save it and close it, the issue isn't there next time I open it. It seems to happen only when I make a fresh file and with vim 8.1.2292 as well as 8.2.1719.


Any help to solve this would be much appreciated.


Keep up the great work,

Nicola


Tony Mechelynck

unread,
Oct 18, 2020, 11:46:56 AM10/18/20
to vim_mac

Open a non-existing filename in Vim and then type:

       :verbose set term? termencoding? encoding? fileencoding? fileencodings?
       :language ctype

with of course <Enter> at the end of each line. What are the answers?

Best regards,
Tony.

Fameli, Nicola

unread,
Oct 18, 2020, 3:51:26 PM10/18/20
to vim_mac





From: vim...@googlegroups.com <vim...@googlegroups.com> on behalf of Tony Mechelynck <antoine.m...@gmail.com>
Sent: 18 October 2020 8:46
To: vim_mac
Subject: Re: Character bracketing
 
[CAUTION: Non-UBC Email]
--
--

Hi Tony,

thanks for the instructions. Here are the responses to those commands:

:verbose set term? termencoding? encoding? fileencoding? fileencodings?
term=xterm-256color
  termencoding=
  encoding=utf-16
        Last set from ~/.vimrc line 3
  fileencoding=
  fileencodings=ucs-bom,utf-8,default,latin1
        Last set from ~/.vimrc line 3

:language ctype
Current ctype language: "en_CA.UTF-8"

Best regards,
Nicola

You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_mac+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_mac/7d6b918d-3266-406e-9571-264c8a97a1f9o%40googlegroups.com.

Bram Moolenaar

unread,
Oct 19, 2020, 7:13:11 AM10/19/20
to vim...@googlegroups.com, Fameli, Nicola

> something's up with my vi(m) editor in my mac pro Terminal app (Mac OS Catalina) and it's driving me insane.
>
> It happens when I make a new file, say a python function in which I might write from the command line:
>
> $vim function.py
>
> def function(variable):
>
> pass
>
> then I type :wq to save it and exit.
>
> Next time I open it I'll see each letter bracketed by ^@, as in:
>
> ^@d^@^@e^@^@f^@ ^@f^@^@u^@^@n... you get the idea.
>
>
> Interestingly, if I add text to an existing file, save it and close
> it, the issue isn't there next time I open it. It seems to happen only
> when I make a fresh file and with vim 8.1.2292 as well as 8.2.1719.
>
>
> Any help to solve this would be much appreciated.

Check the 'fileencoding' and 'encoding'. I suspect one of them is
utf-16. Perhaps a plugin sets 'fileencoding' for this filetype, check
with:
verbose set fileencoding?


--
From "know your smileys":
:-F Bucktoothed vampire with one tooth missing

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

Tony Mechelynck

unread,
Oct 19, 2020, 7:27:40 AM10/19/20
to vim_mac
The problem is at line 3 of your vimrc, which sets 'encoding' to utf-16 where utf-8 would be better. You might also want to set a default for 'fileencoding' by means of
        :setglobal fileencoding=utf8

Using :setglobal means that it will be used _only_ for new files, because for existing files the 'fileencodings' (plural) heuristics will try to determine the current encoding. If you want to create a UTF-16 file anyway, then ":setlocal fenc=utf-16 bomb" (without the quotes) will create it with a BOM so that when reopening it it will be detected as UTF-16 and not as Latin1 with about every other character being a NULL (Ctrl-@)

See at https://vim.fandom.com/wiki/Working_with_Unicode the recommended vimrc code and where to find details in the Vim help about the several options set by that code.

Best regards,
Tony.

Fameli, Nicola

unread,
Oct 19, 2020, 6:38:53 PM10/19/20
to vim_mac
Sent: 19 October 2020 4:27
--
--

Dear Tony,

I reverted back to the original .vimrc file, which didn't have that utf-16 encoding line and apparently things work normally now. I am not sure how that change came about, even though I am most likely the one who made it, and why this issue had not arisen before the last few days, since vi is my text editor of choice for programming, scritpting, latex, etc.

In any case, it seems to be solved now... fingers crossed.

Kind regards,
Nicola


You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_mac+u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages