如何将终端光标从框更改为行?

dag*_*erg 15 linux terminal

Linux Mints 终端(和 ubuntus)中的盒子状光标真的让我感到困惑!我习惯了垂直线,所以当我不确定这个盒子状的光标到底在哪里时,我很难专注于命令。

有没有办法改变这种情况?谢谢!

Tho*_*key 15

在提出问题时(2011 年 10 月),使用给定终端执行此操作的方法是通过其首选项对话框。几年后(201411 月),有人添加了对DECSUSR200912 月以来在 xterm 中使用(和扩展)的转义序列的支持。

更改提到了这些选择:

+        VTE_CURSOR_STYLE_TERMINAL_DEFAULT = 0,
+        VTE_CURSOR_STYLE_BLINK_BLOCK      = 1,
+        VTE_CURSOR_STYLE_STEADY_BLOCK     = 2,
+        VTE_CURSOR_STYLE_BLINK_UNDERLINE  = 3,
+        VTE_CURSOR_STYLE_STEADY_UNDERLINE = 4,
+        /* *_IBEAM are xterm extensions */
+        VTE_CURSOR_STYLE_BLINK_IBEAM      = 5,
+        VTE_CURSOR_STYLE_STEADY_IBEAM     = 6
+} VteCursorStyle;
Run Code Online (Sandbox Code Playgroud)

该功能记录在XTerm Control Sequences 中

CSI Ps SP q
          Set cursor style (DECSCUSR, VT520).
            Ps = 0  -> blinking block.
            Ps = 1  -> blinking block (default).
            Ps = 2  -> steady block.
            Ps = 3  -> blinking underline.
            Ps = 4  -> steady underline.
            Ps = 5  -> blinking bar (xterm).
            Ps = 6  -> steady bar (xterm).
Run Code Online (Sandbox Code Playgroud)

这样您就可以(例如)在命令行上执行此操作以将光标更改为条形(“I-beam”):

printf '\033[6 q'
Run Code Online (Sandbox Code Playgroud)

(需要空格,对应于文档中的“SP”)。


小智 8

这是终端程序本身的功能。

在 Ubuntu 中,如果您正在使用,则terminal可以在终端应用程序首选项中更改此设置,可从屏幕左上角 Ubuntu 状态栏中的终端应用程序菜单访问该选项。

Terminal Menu
  -> Preferences
    -> Profile
      -> Cursor
        -> Cursor Shape
          -> I-beam
Run Code Online (Sandbox Code Playgroud)

“光标形状”有一个下拉菜单,“I 光束”是一个选项。