容器内使用Vim方向键乱码问题求助
Docker容器内Vim方向键乱码的解决方案
这种问题我碰到过好多次,核心原因大概率是你容器里装的是精简版Vim(比如vim-tiny),它砍掉了不少终端交互相关的功能,导致方向键的转义序列被解析成乱码。下面给你几个靠谱的解决办法:
第一步:确认Vim版本
先在容器里跑个命令验证一下:vim --version如果输出开头标了
tiny version,那实锤是精简版的锅了。解决办法1:安装完整版Vim
根据容器的操作系统选择对应的命令:- Debian/Ubuntu系容器:
apt update && apt install -y vim - CentOS/RHEL系容器:
yum install -y vim-enhanced
安装完成后再打开Vim,方向键应该就能正常上下左右跳转了。
- Debian/Ubuntu系容器:
解决办法2:临时/永久启用兼容模式(不用重装)
如果不想折腾安装,临时救急的话,打开Vim后输入::set nocompatible回车后方向键就正常了,但这个设置只在当前Vim会话生效。要永久生效的话,创建
~/.vimrc配置文件:echo "set nocompatible" > ~/.vimrc之后每次打开Vim都会自动加载这个配置。
另外补充一句:你之前设置的LINES、COLUMNS和TERM其实不是这个问题的关键,但如果之后遇到终端尺寸适配的问题,记得进入容器时一定要加-it参数(比如docker exec -it <容器ID> /bin/bash),Docker会自动同步宿主机的终端大小,不用手动设置这些环境变量。
内容的提问来源于stack exchange,提问作者dsaydon
相关产品推荐
相关产品推荐

