LINUX.ORG.RU

проблема с кирилизацией zsh


0

0

zsh-4.2.1

~/>cat .zshrc
.....
setenv LC_CTYPE iso_8859_5
stty pass8
~/>cat .zlogin
export LANG="ru_RU.koi8r"
export LC_NUMERIC="POSIX"

пробовал и по отдельности в файлы .zshrc и .zlogin записывать соответствующую выводу cat информацию, и вместе....

может я как всегда чего-то где-то забыл?

~/> cat /etc/sysconfig/i18n
LANG="ru_RU.KOI8-R"
SUPPORTED="ru_RU.KOI8-R:ru_RU.koi8r:ru_RU:ru"
SYSFONT="cyr-sun16"
SYSFONTACM="koi8-u"
LC_MESSAGES="en_US"


p.s. to jackill, все делал согласно LOR FAQ:)))))


Ну и извраты... У меня с zsh таких проблем нет. Единственная настройка 
(не знаю, влияет на кирилицу или нет) -- это симлинк /etc/zprofile, 
ссылающийся на /etc/profile
От ~/.zshrc, кажется, у меня кирилизация не зависит (с дефолтовым все
нормально работает, без подгонки под кирилицу).

Вот мой /etc/profile: (ос -- slackware 9.1, вроде бы я этот файл
сильно не ковырял...)

# /etc/profile: This file contains system-wide defaults used by
# all Bourne (and related) shells.

# Set the values for some environment variables:
export GDK_USE_XFT=1
export G_BROKEN_FILENAMES=1
export MINICOM="-c on"
export MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man
export HOSTNAME="`cat /etc/HOSTNAME`"
export LESSOPEN="|lesspipe.sh %s"
export LESS="-M"
export VARMERGE="/tmp/merge"
export STATICMERGE="/opt/win4lin"
export PATH="~/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/opt/bin"
# If the user doesn't have a .inputrc, use the one in /etc.
if [ ! -r "$HOME/.inputrc" ]; then
  export INPUTRC=/etc/inputrc
fi

# Set the default system $PATH:

# For root users, ensure that /usr/local/sbin, /usr/sbin, and /sbin are in
# the $PATH.  Some means of connection don't add these by default (sshd comes
# to mind).
if [ "`id -u`" = "0" ]; then
  echo $PATH | grep /usr/local/sbin 1> /dev/null 2> /dev/null
  if [ ! $? = 0 ]; then
    PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH
  fi
fi

# I had problems using 'eval tset' instead of 'TERM=', but you might want to 
# try it anyway. I think with the right /etc/termcap it would work great.
# eval `tset -sQ "$TERM"`
if [ "$TERM" = "" -o "$TERM" = "unknown" ]; then
 TERM=linux
fi

# Set ksh93 visual editing mode:
if [ "$SHELL" = "/bin/ksh" ]; then
  VISUAL=emacs
#  VISUAL=gmacs
#  VISUAL=vi
fi

# Set a default shell prompt:
#PS1='`hostname`:`pwd`# '
if [ "$SHELL" = "/bin/pdksh" ]; then
 PS1='! $ '
elif [ "$SHELL" = "/bin/ksh" ]; then
 PS1='! ${PWD/#$HOME/~}$ '
elif [ "$SHELL" = "/bin/zsh" ]; then
 PS1='%n@%m:%~%# '
elif [ "$SHELL" = "/bin/ash" ]; then
 PS1='$ '
else
 PS1='\u@\h:\w\$ '
fi
PS2='> '
export PATH DISPLAY LESS TERM PS1 PS2

# Default umask.  A umask of 022 prevents new files from being created group
# and world writable.
umask 022

# Set up the LS_COLORS and LS_OPTIONS environment variables for color ls:
if [ "$SHELL" = "/bin/zsh" ]; then
 eval `dircolors -z`
elif [ "$SHELL" = "/bin/ash" ]; then
 eval `dircolors -s`
else
 eval `dircolors -b`
fi

# Notify user of incoming mail.  This can be overridden in the user's
# local startup file (~/.bash.login or whatever, depending on the shell)
if [ -x /usr/bin/biff ]; then
 biff y
fi

# Append any additional sh scripts found in /etc/profile.d/:
for file in /etc/profile.d/*.sh ; do
  if [ -x $file ]; then
    . $file
  fi
done

# For non-root users, add the current directory to the search path:
if [ ! "`id -u`" = "0" ]; then
 PATH="$PATH:."
fi
 

Harliff ★★★★★
()

Кстати, файла ~/.zlogin у меня нет...

Попробуй сделать export LC_ALL=ru_RU.KOI8-R

Кстати, у тебя "export LANG="ru_RU.koi8r"" -- может быть все-таки "export LANG="ru_RU.KOI8-R"" (регистр у 'koi8-r' поменяй)

>p.s. to jackill, все делал согласно LOR FAQ:)))))

Гы-гы. Может быть jackil написал скрипт, послылающий всех в FAQ? ;) И этот скрипт теперь всех туда посылает... :)

Harliff ★★★★★
()
Ответ на: комментарий от Harliff

пробовал и твой /etc/profile ставить вместо моего, и изменять в .zlogin koi8r на KOI8-R, пробовал также и удалять этот файл [.zlogin]..... но ничего не получается:(
кстати в bash отлично все работает....

CAT_XP
() автор топика
Ответ на: комментарий от CAT_XP

попробуй мой .zshrc (если не будет работать кириллица, то проблема не на уровне zsh, а на уровне системы)

#Options
###
unlimit
limit stack 8192
limit core 0
limit -s

eval `dircolors`
export PATH=$PATH:${HOME}/bin
export LC_NUMERIC=C
export HISTSIZE=5000
export SAVEHIST=5000
export HISTFILE=~/.zsh_history
export LESS="-R"

setopt APPEND_HISTORY
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_SPACE
setopt HIST_REDUCE_BLANKS
setopt list_packed
setopt histignorealldups
setopt autopushd
setopt nohup
setopt incappendhistory
setopt printexitvalue
setopt No_Beep
#setopt VI

#Completions
autoload compinit
compinit
# Separate matches into groups
zstyle ':*:matches' group 'yes'
# Describe each match group.
zstyle ':*:descriptions' format "%B---- %d%b"

# Messages/warnings format
zstyle ':*:messages' format '%B%U---- %d%u%b'
zstyle ':*:warnings' format '%B%U---- no match for: %d%u%b'
# Describe options in full
zstyle ':*:options' description 'yes'
zstyle ':*:options' auto-description '%d'

#zmodload -i zsh/complist
zstyle ':completion:*' list-colors ''
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
# ls
alias lock='clear && vlock -a'
alias ls='ls --si --color'
alias l='ls --si --color -l'
alias ll='ls --si --color -la'
alias lp='ls --si --color | less'
alias lsd='ls -ld *(-/DN)'
alias lsa='ls -ld .*'
alias j='jobs -l'
alias cd..='cd ..'
alias p='cd -'
#misc
alias h='history'
alias grep='egrep'
alias mfree='free -m'
alias df='df -h'
alias x='startx'
alias apt-get='sudo apt-get'
alias halt='sudo halt'
alias reboot='sudo reboot'
alias stail='sudo tail'
alias cc='colorgcc'
alias q='xterm -e '
alias e='vim'

alias -g L='| less -M'
alias -g M='| more'
alias -g T='| tail'
alias -g H='| head'
alias -g N='>/dev/null'
alias -g WC=' |wc -c'
alias -g WL=' |wc -l'
alias -g C='| colorize'

GREY="%{\e[0;30m%}"
RED="%{\e[0;31m%}"
GREEN="%{\e[0;32m%}"
YELLOW="%{\e[0;33m%}"
BLUE="%{\e[0;34m%}"
MAGENTA="%{\e[0;35m%}"
CYAN="%{\e[0;36m%}"
WHITE="%{\e[0;37m%}"
GREY2="%{\e[0;39m%}"
NORM="%{\e[0;38m%}"
#PS1="`print ${BLUE}%n@%m:${GREEN}%.${GREY2}%# ${NORM}`"
PS1="`print ${BLUE}%n@%m:${GREEN}%.${BLUE}\> ${NORM}`"
if [ $UID = 0 ]; then
PS1="`print ${RED}\(${BLUE}%.${RED}\) root\> ${NORM}`"
fi

function precmd {
	export RPS1="`print ${CYAN}%T${NORM}`"
	print -Pn "\e]0;%n@%m:%~\a"
}

case $TERM in (xterm|rxvt)
	preexec () { print -Pn "\e]0;$1\a" }
	;;
esac

human0id ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.