首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ssh上的zsh-游标位移

ssh上的zsh-游标位移
EN

Unix & Linux用户
提问于 2021-02-11 04:15:40
回答 1查看 222关注 0票数 1

我正在本地运行Arch。当我通过ssh连接到远程Debian 10服务器时,游标以一种尴尬的方式运行:

只要每个命令都返回statuscode 0,一切正常。当返回另一段代码时,光标和右提示符将被移至左侧2个字符,如下所示。第一个提示是正常的,第二个是在按Ctrl+C之后:

代码语言:javascript
运行
复制
----|---------------------------------
~ »                    user@hostname
--|-----------------------------------
~ »            130 ↵ user@hostname

之后,我手动更改了破折号行,以显示光标在哪里:在|下面。实际上,当我开始输入命令时,我正在重写»

然后,当我尝试使用历史记录中的命令并对其进行更改时,我会将其更改为与屏幕上显示的字符不同的字符,这是非常令人困惑和烦人的。

在返回statuscode 0的下一个命令之后,光标再次恢复正常。

这种情况似乎发生在终端上(我尝试在控制台中使用Alacritty和URXVT)。

我用的是“af-魔术”这个主题。当我切换到另一个不显示状态代码的主题时,问题就消失了。不过,其他显示状态代码的主题(例如"smt")也是如此。因此,关于状态代码显示的一些东西似乎导致了这个问题。

我的.zshrc在本地和远程都是相同的。在当地,我没有这个问题。

代码语言:javascript
运行
复制
HISTSIZE=1000000
SAVEHIST=1000000
HISTFILE=~/.cache/zsh/history

## oh my zsh
export ZSH="$HOME/.config/zsh/oh-my-zsh"

ZSH_THEME="af-magic"

plugins=(
  git vi-mode zsh-autosuggestions history-substring-search
)

ZSH_DISABLE_COMPFIX="true"
source $ZSH/oh-my-zsh.sh

## Load aliases
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc"

## vim mode config
# ---------------
bindkey -M vicmd 'k' history-substring-search-up
bindkey -M vicmd 'j' history-substring-search-down

# Activate vim mode.
bindkey -v

# autosuggest config
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#3a3a3a"
bindkey '^ ' autosuggest-accept

# Remove mode switching delay.
KEYTIMEOUT=5

# Change cursor shape for different vi modes.
function zle-keymap-select {
  if [[ ${KEYMAP} == vicmd ]] ||
     [[ $1 = 'block' ]]; then
    echo -ne '\e[1 q'

  elif [[ ${KEYMAP} == main ]] ||
       [[ ${KEYMAP} == viins ]] ||
       [[ ${KEYMAP} = '' ]] ||
       [[ $1 = 'beam' ]]; then
    echo -ne '\e[5 q'
  fi
}
zle -N zle-keymap-select

_fix_cursor() {
   echo -ne '\e[5 q'
}
precmd_functions+=(_fix_cursor)

关于如何解决这个问题有什么建议吗?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-02-13 09:02:14

我的locale还没有设置好。我现在就设置它,它起作用了!

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/633848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档