On Mon, Jul 24, 2006 at 11:38:30PM EDT, A.J.Mechelynck wrote: [..] > >> > >.. with all the goings-on in this thread I never had a chance to > >mention the fact that I do not use gvim. I try to do everything in a > >terminal (under gnu/screen) because text-mode apps were designed for > >the keyboard so they work a lot better than gui's for those of us who > >prefer not to use mice. > > Gvim can use keyboard commands just like console Vim,
.. that's where I disagree.. either you stick with Vim commands and ":commands" and you don't need the gui.. or you you have to have a mouse for company and you belong in Notepad hell. :-) Of course you can use the keyboard to navigate most modern gui's.. kinda works.. But, any routine action will always be not only considerably slower in a gui than a terminal-based app but *also* requires a lot more cycles of you own personal cpu, thus distracting you from what you are doing. Now why would I put up with that ugly GTK clutter that I never use when I can use a nice streamlined interface that does not distract me from what I am doing? I *much* prefer something simple like the bluez.vim color scheme that I have slightly modified for my own use. http://www.geocities.com/cga9999/vim.png FYI - it took me more than five years before I began to suspect that there had to be a better way to interface with the machine.. than the gui, that is. Sure.. with non-gui stuff there is a learning curve.. but as soon as you're over the top.. gee.. now I'm in heaven.. > or mice-addicted > people can use that too. It has a lot more different coulours (typically > 16 million rather than 16) good point. A 256-color terminal is IMHO an absolute necessity. I don't think more than that is any use in text-mode apps, though. > and it can change fonts on-the-fly (change > the font from Courier to Lucida to whatever, only through Vim keyboard > commands). I would never want do that.. but just out of curiosity.. why would that not be possible in an xterm? > It can do "real" boldface and italics, as well as straight or > curly underlining. That would be for highlighting stuff, right? So the same functionality can be achieved with colors. And in a more pleasing manner IMHO.. the color schemes that I have seen that use italics have not convinced me. > And it can use Unicode: see further down. > > > > >> :echo has("multi_byte") > >> > >>the answer should be 1. If it is zero, your version of gvim cannot > >>handle UTF-8. > >> > >Works fine if I switch my locale to UTF-8. Vim automatically figures > >what I want and :dig displays the "o dans l'e" (both the lower and upper > >case versions) among a gazillon other digraphs. Then I can use the > >ususal Ctrl-K oe .. save the file.. pass this on to LaTeX and provided I > >have the correct LaTeX statements to activate UTF-8 (that's what took > >forever to figure out the other day..) I get my "coeurs", "voeux" and > >"boeufs" rendered correctly in xdvi/gv .. *and* the the ensuing > >printout looks great too. > > > >The problem with this is that I haven't found a comfortable way to > >run Vim in UTF-8 mode and the rest of my stuff in 8-bit mode. > > Well, in an xterm (or konsole, or Windows Dos Box), console Vim is > dependent on xhatever charset the console is using. If you xterm (or > whatever) is in Latin1, you cannot use French oe anymore than you can > use Cyrillic or Greek. Gvim, on the other hand, can display anything for > which you have a glyph in a font. hmm.. looks like with terminals you need to be 100% UTF-8.. locale.. font.. terminal.. vim encoding.. for it to work. http://www.geocities.com/cga9999/vimgold.png The silly sample text I wrote while practicing LaTeX clearly has problems with the "o dans l'e" rendered as a ½ (latin9 encoding).. garbled words are "coeur" and "oeufs".. This is with a latin9 encoding.. If I switch to utf8 all the accented letters are displayed as <e0> .. <e9> .. etc. I'll have to bounce my X session some time tomorrow and switch back my locale to UTF-8 fire up X and a uxterm and see what happens. Where would I switch to UTF-8 in gvim.. Couldn't find the option in the menus.. Maybe it just isn't there because my X session's locale is set to en_US? Ah shoot.. I had promised myself I wouldn't let myself be dragged into another UTF-8 wild goose chase.. it's now past 2 A.M. .. and guess what I'm doing.. :-) [..] > > > So what is Unicode and what is UTF-8. > > Unicode is a system to allow using *together* all writing systems known > to man. That's a lot. A "character space" with over 1 billion slots has > been set apart for all those characters. > > Unicode is also a number of 'encodings' -- manners to represent that > data in memory or on a storage medium. The simplest of these encodings > is UTF-32 (aka UCS-4): use 32 bits for each characters, in the > endianness of your machine. The most economical is usually UTF-8, which > uses between one and four bytes per character; also, it represents 7-bit > ASCII identically as ASCII; characters 128-255 of the Latin1 encoding > have the same ordinal position in the scheme but are represented by two > bytes each. Also, of the 3 principal Unicode encodings, UTF-8 is the > only one which isn't subdivided into "big-endian" and "little-endian" > varieties. There is no risk of out-of-phase errors, because of the > allotment of the bytes: 0-0x7F are single-byte characters, 0x80-0xBF are > "trailing bytes" (any byte except the first in a multi-byte character), > 0xC0-0xFF are "header bytes" (the first byte in a multibyte character) > and in addition, the header byte specifies how long the sequence is. > > Vim can translate back and forth between Unicode and any other charset > quite easily, so (in gvim, or in Vim running in a Unicode terminal) you > may set 'encoding' to utf-8 and use ":setlocal fileencoding=latin1" for > Western Europe, ":setlocal fileencoding=sjis" for Japanese, etc., on a > file-by-file basis. All those files can coexist in a single instance of > gvim. ok.. that's the crucial part.. this would work in a unicode terminal.. and it does..! http://www.geocities.com/cga9999/vimgld2.png .. what happened was that the other stuff I was looking at was running in my regular non-unicode xterm/screen.. I had completely forgotten about this other Vim session.. that's why I don't like having all these windows all over the place.. When it's three in the morning or thereabout and you need some sleep.. that's when you need a simple streamlined environment..! > > By using ":setlocal bomb" on a Unicode file, you can place at its > beginning the codepoint U+FEFF ZERO-WIDTH NO-BREAK SPACE which is then > used by other programs (or by Vim itself) to identify the fact that this > file is in Unicode, and in which particular Unicode encoding and endianness. .. tomorrow.. :-) I did do it on my unicode test file.. saved it somewhere.. read it in my non-unicode Vim session.. and it's a total mess.. but very different from the mess with the <e0> .. etc. I mentioned earlier.. So this should help clarify the issue. > > For more details, see > :help mbyte.txt > http://vim.sourceforge.net/tips/tip.php?tip_id=246 > section 37 (last) of the Vim FAQ > http://vimdoc.sourceforge.net/htmldoc/vimfaq.html > http://www.unicode.org/ > http://www.cl.cam.ac.uk/~mgk25/unicode.html > Ah.. heck.. the other urgent stuff can wait.. I'll have to look at this tomorrow. :-( Thanks cga