Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
ä ü ö and ß in vim, kate, ...
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
Mati
Apprentice
Apprentice


Joined: 02 Sep 2008
Posts: 172

PostPosted: Mon Jun 23, 2014 4:43 pm    Post subject: ä ü ö and ß in vim, kate, ... Reply with quote

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
View user's profile Send private message
schorsch_76
Guru
Guru


Joined: 19 Jun 2012
Posts: 450

PostPosted: Mon Jun 23, 2014 5:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Mon Jun 23, 2014 6:46 pm    Post subject: Reply with quote

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
View user's profile Send private message
Yamakuzure
Advocate
Advocate


Joined: 21 Jun 2006
Posts: 2273
Location: Bardowick, Germany

PostPosted: Tue Jun 24, 2014 9:43 am    Post subject: Reply with quote

This is gentoo. You have an eselect for this. :D
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:
  1. "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
  2. "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Tue Jun 24, 2014 11:33 am    Post subject: Reply with quote

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
View user's profile Send private message
nenemsis5
n00b
n00b


Joined: 23 Oct 2007
Posts: 72

PostPosted: Tue Jun 24, 2014 12:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Tue Jun 24, 2014 1:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
Mati
Apprentice
Apprentice


Joined: 02 Sep 2008
Posts: 172

PostPosted: Tue Jun 24, 2014 7:10 pm    Post subject: Reply with quote

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
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Tue Jun 24, 2014 8:22 pm    Post subject: Reply with quote

Mati ...

you logged out and/or restarted a (login) shell subseqent to making those changes?

best ... khay
Back to top
View user's profile Send private message
Mati
Apprentice
Apprentice


Joined: 02 Sep 2008
Posts: 172

PostPosted: Wed Jun 25, 2014 7:01 pm    Post subject: Reply with quote

Hi,

now i also rebooted the whole system. (And its still the same)

Any hint?
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6228
Location: Room 101

PostPosted: Wed Jun 25, 2014 8:46 pm    Post subject: Reply with quote

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
View user's profile Send private message
schorsch_76
Guru
Guru


Joined: 19 Jun 2012
Posts: 450

PostPosted: Thu Jun 26, 2014 5:07 am    Post subject: Reply with quote

Is the Language set in /etc/env.d/70locale ?

Did you run
Code:

update-env
. /etc/profile
Back to top
View user's profile Send private message
v_andal
Guru
Guru


Joined: 26 Aug 2008
Posts: 521
Location: Germany

PostPosted: Thu Jun 26, 2014 7:45 am    Post subject: Reply with quote

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
View user's profile Send private message
Mati
Apprentice
Apprentice


Joined: 02 Sep 2008
Posts: 172

PostPosted: Thu Jun 26, 2014 3:51 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum