问题是什么?按下End键不会将光标移动到行尾,而是进入'~'字符。Home键也有同样的问题。这些是在tmux中的TERM环境变量:
$ env | grep TERM COLORTERM=truecolor TERM_PROGRAM_VERSION=3.3a TERM=tmux-256color TERM_PROGRAM=tmux
版本:0.3.6操作系统:LinuxGPU:NvidiaCPU:IntelOllama版本:0.3.6
mu0hgdu01#
Ollama使用类似readline的命令行界面,home键为ctrl-a,end键为ctrl-e。
plicqrtu2#
当在KDE的konsole、Xfce终端和xterm中运行ollama客户端时,Home和End按钮可以正常工作。然而,在tmux中,它们在ollama中无法正常工作。vim和libedit示例在tmux终端中正确处理了Home和End按钮。只有ollama似乎在tmux中的Home和End按钮有问题。
a7qyws3x3#
ollama实现了readline库的一个子集(不确定为什么他们采用了这种方法,而不是直接使用readline库)。tmux会更改发送的各种按键的代码,因此ollama的readline无法识别它们,它继续使用默认的ctrl-a、ctrl-e配置。如果你想要完全的readline兼容性,你可以将ollama Package 在一个实现完整readline功能的程序中。 首先,安装rlwrap。如果你使用的是基于debian的系统:
apt install -y rlwrap
如果你使用的是redhat或其他系统,请使用yum/dnf等工具找到并安装该程序。 现在为ollama创建一个别名并将其保存在~/.bash_aliases中:
alias ollama='rlwrap -a /usr/local/bin/ollama'
为了让rlwrap能够访问到ollama的历史记录,创建一个指向历史记录文件的符号链接:
ln -s .ollama/history ~/.ollama_history
现在当你运行ollama时,键盘输入将由`rlwrap`处理。
webghufk4#
感谢使用rlwrap的解决方法。我也尝试在Rio终端中使用ollama:https://raphamorim.io/rio/在tmux和Rio终端中,ollama客户端都出现故障,请查看video screenshot以了解Rio终端的情况(tmux的行为相同)。我认为ollama应该使用libedit或readline,因为这个问题会随着来自不同背景和环境的用户越来越多而不断出现。
xqnpmsa85#
如果用户想要一个完整的文本CLI,那么有很多终端集成可供选择。
5条答案
按热度按时间mu0hgdu01#
Ollama使用类似readline的命令行界面,home键为ctrl-a,end键为ctrl-e。
plicqrtu2#
当在KDE的konsole、Xfce终端和xterm中运行ollama客户端时,Home和End按钮可以正常工作。然而,在tmux中,它们在ollama中无法正常工作。vim和libedit示例在tmux终端中正确处理了Home和End按钮。只有ollama似乎在tmux中的Home和End按钮有问题。
a7qyws3x3#
apt install -y rlwrap
alias ollama='rlwrap -a /usr/local/bin/ollama'
ln -s .ollama/history ~/.ollama_history
webghufk4#
感谢使用rlwrap的解决方法。
我也尝试在Rio终端中使用ollama:https://raphamorim.io/rio/
在tmux和Rio终端中,ollama客户端都出现故障,请查看video screenshot以了解Rio终端的情况(tmux的行为相同)。
我认为ollama应该使用libedit或readline,因为这个问题会随着来自不同背景和环境的用户越来越多而不断出现。
xqnpmsa85#
如果用户想要一个完整的文本CLI,那么有很多终端集成可供选择。