我使用IntelliJ IDEA's Embedded Local Terminal相当多,但有一件事让我疯狂:特殊和重音字符不起作用。 这应该是但不起作用:
D
C
?
可能有其他组合应该但不起作用......但这些是最烦人的组合。
我正在使用:
重要说明:
�
),并且我真的更喜欢使用zsh。 showkey --scancodes
打印Couldn't get a file descriptor referring to the console
od -c
我获取了HOME键的^[[H
和END键的^[[F
showkey --ascii
也为HOME键工作并打印^[[H
我已经做了什么:
TERM
.zshrc
变量
bindkey "${terminfo[khome]}" beginning-of-line
.zshrc
和等效行尾
readline
添加(似乎是合适的)行(好的,我现在看到这是没用的,因为Zsh不使用readline)编辑:我可以使home / end键工作(参见下面接受的答案),但不是CTRL + LEFT和CTRL + RIGHT键(对于前向和后向单词)。经过一些挖掘后,这似乎是IntelliJ的问题,而不是100%正确模拟终端。 4
这里有一个问题,来自oh-my-zsh撰稿人的有趣输入:https://youtrack.jetbrains.com/issue/IDEA-118848#comment=27-1292473
他们认为很快就会从oh-my-zsh中抛弃smkx(这似乎是问题的根源)。我已经检查了this PR,现在我的键工作正常(仍需要绑定,但CTRL + LEFT和CTRL + RIGHT现在还可以)
编辑:IntelliJ(yeehaa!)现在正确支持重音/特殊字符,请确保至少具有以下版本:IntelliJ IDEA 2016.3.1, Build #IC-163.9166.29, built on December 9, 2016
答案 0 :(得分:1)
我可以理解zsh在IntelliJ之外工作正常。
找到Intellij内终端使用的正确密钥代码。这取决于您使用的操作系统。对于OSX和Linux od -c
,然后按下键将导致发出密钥代码。
获得密码后,请修改~/.zshrc
:
bindkey "$HOME_KEY_CODE_FROM_STEP_1" beginning-of-line
bindkey "$END_KEY_CODE_FROM_STEP_1" end-of-line
例如(与OP的情况一样):
bindkey "^[[H" beginning-of-line
bindkey "^[[F" end-of-line
并重新启动终端。