终端光标形状在Profile Preferences中修改:打开终端按Alt呼出菜单,选Edit→Profile Preferences→Compatibility标签页,通过Cursor shape下拉框选择Block、Underline或I-Beam;需设为默认Profile并新开窗口才生效。

终端光标形状在哪改:Profile Preferences 是关键入口
Ubuntu 默认终端(GNOME Terminal)不通过系统级设置控制光标形状,而是绑定在「配置文件」层级。也就是说,你改的不是整个系统的终端光标,而是当前 Profile 的光标行为——哪怕你只用一个 Profile,也得进这里调。
常见错误是去 Settings 或 GNOME Tweaks 里翻「光标主题」,那改的是桌面鼠标指针,和终端里那个 |、_ 或方块完全无关。
- 打开终端后,按
Alt键呼出隐藏菜单栏(Ubuntu 20.04+ 默认隐藏) - 点
Edit → Profile Preferences,或右键终端空白处选Profiles → Profile Preferences - 切换到
Compatibility标签页(注意:不是General或Colors) - 找到
Cursor shape下拉框,选项只有三个:Block(实心方块)、Underline(下划线)、I-Beam(竖线|)
为什么改了没生效:Profile 名称和默认继承关系容易被忽略
GNOME Terminal 允许创建多个 Profile,但新开终端默认用哪个 Profile,取决于「默认 Profile」设置。如果你新建了一个 Profile 并在里面改了 Cursor shape,但没设为默认,新终端依然用旧 Profile 的设置——光标自然不变。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 在
Profile Preferences窗口左上角看当前 Profile 名称(如Unnamed或Default) - 关闭该窗口后,回到终端顶部菜单
Edit → Profiles…,选中你要设为默认的那个 Profile,勾选Use this profile by default - 如果 Profile 名称是
Unnamed,建议先重命名(比如叫dev-i-beam),避免后续混淆 - 改完必须新开终端窗口或标签页才生效;已打开的终端不会动态刷新光标形状
命令行临时开关光标可见性:用 tput 而不是 echo
有些脚本或交互式程序需要临时隐藏光标(比如绘制进度条),这时用 tput 最稳妥。直接 echo -e "\033[?25l" 看似能隐藏,但在某些终端复位或退出时可能残留不可见状态,而 tput 会自动适配当前 $TERM 类型。
- 隐藏光标:
tput civis - 恢复标准光标(通常为块状):
tput cnorm - 强制显示光标(即使之前被 hide):
tput cvvis - 这些命令无输出,也不影响
Cursor shape设置,只控制「显示/隐藏」开关 - 别在
.bashrc里无条件执行tput civis,否则每次开终端都看不到光标,得靠键盘盲输tput cnorm才能救回来
Vim 插入模式光标 ≠ 终端光标:这是两个独立控制层
很多人想让 Vim 里插入模式显示竖线、普通模式显示方块,结果去改终端的 Cursor shape,发现没用——因为 Vim 自己接管了光标样式,终端只提供基础渲染能力。
- Vim 的光标行为由
:set guicursor(GUI)或termcap序列(终端)控制,和 GNOME Terminal 的Cursor shape无关 - 在
~/.vimrc中加这行才能生效:set guioptions+=a(GUI)或更通用的:let &t_SI = "\e[6 q" | let &t_SR = "\e[4 q" | let &t_EI = "\e[2 q" - 其中
\e[6 q是「竖线」,\e[4 q是「下划线」,\e[2 q是「空心块」——这些值依赖终端支持,GNOME Terminal 3.36+ 支持,老版本可能 fallback 到统一形状 - 别指望终端设置能“透传”给 Vim;反过来,Vim 的光标设置也不会影响你在 Bash 里输入命令时的光标

















