anyway change the cursor "vertical line" instead of a box?

I don't think making the cursor a vertical line is possible in xterm. It is possible, however, to make it underlined. Just run xterm -uc.

It might be possible to do what you want using another terminal emulator. For example, I use Konsole and I can set the cursor shape to "Block", "I-Beam" and "Underline".


It seems xterm has added support for the vertical bar or I-beam cursor.

You can change the cursor by inserting one of the following lines in your ~/.bashrc file (if you use bash):

echo -e -n "\x1b[\x30 q" # changes to blinking block
echo -e -n "\x1b[\x31 q" # changes to blinking block also
echo -e -n "\x1b[\x32 q" # changes to steady block
echo -e -n "\x1b[\x33 q" # changes to blinking underline
echo -e -n "\x1b[\x34 q" # changes to steady underline
echo -e -n "\x1b[\x35 q" # changes to blinking bar
echo -e -n "\x1b[\x36 q" # changes to steady bar

References:

  • https://code.google.com/p/iterm2/issues/detail?id=2248
  • xterm changelog entry for patch #282:

Patch #282 - 2012/09/28

  • extend DECSCUSR to provide a way to set the cursor to a vertical bar (patch by Paul Bolle).
  • 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.
    

Tags:

Linux

Xterm