View previous topic :: View next topic |
Author |
Message |
Mati Apprentice
Joined: 02 Sep 2008 Posts: 172
|
Posted: Mon Jun 23, 2014 4:43 pm Post subject: ä ü ö and ß in vim, kate, ... |
|
|
Hi there,
in my shells (and thunderbird, e.g.) everything is fine. However in kate or vim the characters ä ü ö or ß are not displayed correctly or cannot be inserted properly. Here i'm stuck.
My locale says:
Code: |
cat@gentoo ~ $ locale
LANG=de_DE.UTF-8
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
cat@gentoo ~ $ locale -a
C
POSIX
de_DE.utf8
en_US.utf8
|
my /etc/vim/vimrc looks like:
Code: |
scriptencoding utf-8
" ^^ Please leave the above line at the start of the file.
" Default configuration file for Vim
" $Header: /var/cvsroot/gentoo-x86/app-editors/vim-core/files/vimrc-r4,v 1.3 2010/04/15 19:30:32 darkside Exp $
" Written by Aron Griffis <agriffis@gentoo.org>
" Modified by Ryan Phillips <rphillips@gentoo.org>
" Modified some more by Ciaran McCreesh <ciaranm@gentoo.org>
" Added Redhat's vimrc info by Seemant Kulleen <seemant@gentoo.org>
" You can override any of these settings on a global basis via the
" "/etc/vim/vimrc.local" file, and on a per-user basis via "~/.vimrc". You may
" need to create these.
" {{{ General settings
" The following are some sensible defaults for Vim for most users.
" We attempt to change as little as possible from Vim's defaults,
" deviating only where it makes sense
set nocompatible " Use Vim defaults (much better!)
set bs=2 " Allow backspacing over everything in insert mode
set ai " Always set auto-indenting on
set history=50 " keep 50 lines of command history
set ruler " Show the cursor position all the time
set viminfo='20,\"500 " Keep a .viminfo file.
" Don't use Ex mode, use Q for formatting
map Q gq
" When doing tab completion, give the following files lower priority. You may
" wish to set 'wildignore' to completely ignore files, and 'wildmenu' to enable
" enhanced tab completion. These can be done in the user vimrc file.
set suffixes+=.info,.aux,.log,.dvi,.bbl,.out,.o,.lo
" When displaying line numbers, don't use an annoyingly wide number column. This
" doesn't enable line numbers -- :set number will do that. The value given is a
" minimum width to use for the number column, not a fixed size.
if v:version >= 700
set numberwidth=3
endif
" }}}
" {{{ Modeline settings
" We don't allow modelines by default. See bug #14088 and bug #73715.
" If you're not concerned about these, you can enable them on a per-user
" basis by adding "set modeline" to your ~/.vimrc file.
set nomodeline
" }}}
" {{{ Locale settings
" Try to come up with some nice sane GUI fonts. Also try to set a sensible
" value for fileencodings based upon locale. These can all be overridden in
" the user vimrc file.
if v:lang =~? "^ko"
set fileencodings=euc-kr
set guifontset=-*-*-medium-r-normal--16-*-*-*-*-*-*-*
elseif v:lang =~? "^ja_JP"
set fileencodings=euc-jp
set guifontset=-misc-fixed-medium-r-normal--14-*-*-*-*-*-*-*
elseif v:lang =~? "^zh_TW"
set fileencodings=big5
set guifontset=-sony-fixed-medium-r-normal--16-150-75-75-c-80-iso8859-1,-taipei-fixed-medium-r-normal--16-150-75-75-c-160-big5-0
elseif v:lang =~? "^zh_CN"
set fileencodings=gb2312
set guifontset=*-r-*
endif
" If we have a BOM, always honour that rather than trying to guess.
if &fileencodings !~? "ucs-bom"
set fileencodings^=ucs-bom
endif
" Always check for UTF-8 when trying to determine encodings.
if &fileencodings !~? "utf-8"
" If we have to add this, the default encoding is not Unicode.
" We use this fact later to revert to the default encoding in plaintext/empty
" files.
let g:added_fenc_utf8 = 1
set fileencodings+=utf-8
endif
" Make sure we have a sane fallback for encoding detection
if &fileencodings !~? "default"
set fileencodings+=default
endif
" }}}
" {{{ Syntax highlighting settings
" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
syntax on
set hlsearch
endif
" }}}
" {{{ Terminal fixes
if &term ==? "xterm"
set t_Sb=^[4%dm
set t_Sf=^[3%dm
set ttymouse=xterm2
endif
if &term ==? "gnome" && has("eval")
" Set useful keys that vim doesn't discover via termcap but are in the
" builtin xterm termcap. See bug #122562. We use exec to avoid having to
" include raw escapes in the file.
exec "set <C-Left>=\eO5D"
exec "set <C-Right>=\eO5C"
endif
" }}}
" {{{ Filetype plugin settings
" Enable plugin-provided filetype settings, but only if the ftplugin
" directory exists (which it won't on livecds, for example).
if isdirectory(expand("$VIMRUNTIME/ftplugin"))
filetype plugin on
" Uncomment the next line (or copy to your ~/.vimrc) for plugin-provided
" indent settings. Some people don't like these, so we won't turn them on by
" default.
" filetype indent on
endif
" }}}
" {{{ Fix &shell, see bug #101665.
if "" == &shell
if executable("/bin/bash")
set shell=/bin/bash
elseif executable("/bin/sh")
set shell=/bin/sh
endif
endif
"}}}
" {{{ Our default /bin/sh is bash, not ksh, so syntax highlighting for .sh
" files should default to bash. See :help sh-syntax and bug #101819.
if has("eval")
let is_bash=1
endif
" }}}
" {{{ Autocommands
if has("autocmd")
augroup gentoo
au!
" Gentoo-specific settings for ebuilds. These are the federally-mandated
" required tab settings. See the following for more information:
" http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
" Note that the rules below are very minimal and don't cover everything.
" Better to emerge app-vim/gentoo-syntax, which provides full syntax,
" filetype and indent settings for all things Gentoo.
au BufRead,BufNewFile *.e{build,class} let is_bash=1|setfiletype sh
au BufRead,BufNewFile *.e{build,class} set ts=4 sw=4 noexpandtab
" In text files, limit the width of text to 78 characters, but be careful
" that we don't override the user's setting.
autocmd BufNewFile,BufRead *.txt
\ if &tw == 0 && ! exists("g:leave_my_textwidth_alone") |
\ setlocal textwidth=78 |
\ endif
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if ! exists("g:leave_my_cursor_position_alone") |
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif |
\ endif
" When editing a crontab file, set backupcopy to yes rather than auto. See
" :help crontab and bug #53437.
autocmd FileType crontab set backupcopy=yes
" If we previously detected that the default encoding is not UTF-8
" (g:added_fenc_utf8), assume that a file with only ASCII characters (or no
" characters at all) isn't a Unicode file, but is in the default encoding.
" Except of course if a byte-order mark is in effect.
autocmd BufReadPost *
\ if exists("g:added_fenc_utf8") && &fileencoding == "utf-8" &&
\ ! &bomb && search('[\x80-\xFF]','nw') == 0 && &modifiable |
\ set fileencoding= |
\ endif
augroup END
endif " has("autocmd")
" }}}
" {{{ vimrc.local
if filereadable("/etc/vim/vimrc.local")
source /etc/vim/vimrc.local
endif
" }}}
" vim: set fenc=utf-8 tw=80 sw=2 sts=2 et foldmethod=marker :
|
What further information do you need to help me?
Thanks a lot! |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 450
|
Posted: Mon Jun 23, 2014 5:30 pm Post subject: |
|
|
I think your locale setting is the problem. My locale is as following:
Code: |
locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE=C
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
|
I think especially your "LC_ALL=C". |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Mon Jun 23, 2014 6:46 pm Post subject: |
|
|
Mati ... schorsch_76 is basically correct, seems you are setting LC_ALL which you shouldn't.
/etc/env.d/02locale
Code: | LANG="de_DE.UTF-8"
LC_COLLATE="C" |
That should be all thats required, though you can set LC_TIME to something other than de_DE.UTF-8 dependent on how you want the date to be displayed.
If you are setting LC_ALL, LANG, etc, via ~/.{z,bash_}profile then comment these out.
BTW, as these are inherited by subprocesses of the shell I have the following in make.conf
Code: | LANG=C
LC_CTYPE="${LANG}"
LC_COLLATE="${LANG}"
LC_MESSAGES="${LANG}" |
This insures that portage only uses a C locale (which can solve certain packages failing to build for various reasons) and insures the output from portage isn't localised.
best ... khay |
|
Back to top |
|
|
Yamakuzure Advocate
Joined: 21 Jun 2006 Posts: 2284 Location: Adendorf, Germany
|
Posted: Tue Jun 24, 2014 9:43 am Post subject: |
|
|
This is gentoo. You have an eselect for this. Code: | ~ # eselect locale list
Available targets for the LANG variable:
[1] C
[2] de_DE
[3] de_DE@euro
[4] de_DE.iso88591
[5] de_DE.iso885915@euro
[6] de_DE.utf8 *
[7] de_DE.utf8@euro
[8] deutsch
[9] en_US
[10] en_US.iso88591
[11] en_US.utf8
[12] german
[13] POSIX
[ ] (free form) |
_________________ Important German:- "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
- "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
|
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Tue Jun 24, 2014 11:33 am Post subject: |
|
|
Yamakuzure wrote: | This is gentoo. You have an eselect for this. |
Yamakuzure ... yes, you do, but this will not add LC_COLLATE=C and so this will be set to whatever you set the locale to.
best ... khay |
|
Back to top |
|
|
nenemsis5 n00b
Joined: 23 Oct 2007 Posts: 72
|
Posted: Tue Jun 24, 2014 12:45 pm Post subject: |
|
|
if u intended to use a german system with all "unlaute" change your locale to this:
Code: | LANG=de_DE.UTF-8
LC_CTYPE=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
|
this works also for systemd and openrc UTF-8 system |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Tue Jun 24, 2014 1:30 pm Post subject: |
|
|
nenemsis5 wrote: | if u intended to use a german system with all "unlaute" change your locale to this:
Code: | [...]
LC_COLLATE=de_DE.UTF-8
[...] |
|
nenemsis5 ... no, there are various reasons to set LC_COLLATE=C ... a search on b.g.o will probably find various open bugs relating to having this set to utf-8 ... see: bug #208082.
best ... khay |
|
Back to top |
|
|
Mati Apprentice
Joined: 02 Sep 2008 Posts: 172
|
Posted: Tue Jun 24, 2014 7:10 pm Post subject: |
|
|
Thanks for your help. Unfortunately it didn't change anything yet. I did as khayyam suggested and changed my 02locale to this:
Code: |
cat /etc/env.d/02locale
# Configuration file for eselect
# This file has been automatically generated.
#LANG="de_DE.UTF-8"
#LC_COLLATE="C"
LANG="de_DE.UTF-8"
LC_COLLATE="C"
|
and also did a locale-gen afterwards.
More output now:
Code: |
locale -a
C
POSIX
de_DE.utf8
en_US.utf8
|
Code: |
cat .bashrc
# /etc/skel/.bashrc
#
if [[ $- != *i* ]] ; then
# Shell is non-interactive. Be done now!
return
fi
# Put your fun stuff here.
#export LANG="de_DE.UTF-8"
#export LC_COLLATE="C"
export PATH=/usr/local/texlive/2014/bin/i386-linux:$PATH
|
Code: |
eselect locale list
Available targets for the LANG variable:
[1] C
[2] POSIX
[3] de_DE.utf8
[4] en_US.utf8
[5] de_DE.UTF-8 *
[ ] (free form)
|
Code: |
locale
LANG=ISO-8859-1
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=C
|
what can i do? |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Tue Jun 24, 2014 8:22 pm Post subject: |
|
|
Mati ...
you logged out and/or restarted a (login) shell subseqent to making those changes?
best ... khay |
|
Back to top |
|
|
Mati Apprentice
Joined: 02 Sep 2008 Posts: 172
|
Posted: Wed Jun 25, 2014 7:01 pm Post subject: |
|
|
Hi,
now i also rebooted the whole system. (And its still the same)
Any hint? |
|
Back to top |
|
|
khayyam Watchman
Joined: 07 Jun 2012 Posts: 6227 Location: Room 101
|
Posted: Wed Jun 25, 2014 8:46 pm Post subject: |
|
|
Mati wrote: | now i also rebooted the whole system. (And its still the same). Any hint? |
Mati ... ummm, what are you using to start your session?
best ... khay |
|
Back to top |
|
|
schorsch_76 Guru
Joined: 19 Jun 2012 Posts: 450
|
Posted: Thu Jun 26, 2014 5:07 am Post subject: |
|
|
Is the Language set in /etc/env.d/70locale ?
Did you run
Code: |
update-env
. /etc/profile
|
|
|
Back to top |
|
|
v_andal Guru
Joined: 26 Aug 2008 Posts: 541 Location: Germany
|
Posted: Thu Jun 26, 2014 7:45 am Post subject: |
|
|
Well, another wild guess, which shell is being used? You checked .bashrc but you may use different shell.
It is funny, that /etc/env.d/02locale has LANG="de_DE.UTF-8" and output of "locale" gives LANG=ISO-8859-1.
Basically, there's some place where wrong locale is set. This place can be shell init files, X windows init files, possibly some other scripts used to initiate your environment. |
|
Back to top |
|
|
Mati Apprentice
Joined: 02 Sep 2008 Posts: 172
|
Posted: Thu Jun 26, 2014 3:51 pm Post subject: |
|
|
Further thanks. I had wrong input in /etc/bash/bashrc. I deleted it and now my problem is gone. Sorry, it was my fault. Thanks a lot for your patient help. |
|
Back to top |
|
|
|