我想在Terminal.app中运行的VIM中进入插入模式时,将光标形状从下划线更改为垂直。 (注意:我知道这是macvim下的默认行为。)
此参考:http://vim.wikia.com/wiki/Change_cursor_shape_in_different_modes提供有关如何执行此操作的说明。例如,以下内容适用于iterm2:
let &t_SI = "\<Esc>]50;CursorShape=1\x7"
let &t_EI = "\<Esc>]50;CursorShape=0\x7"
不幸的是,这不适用于Terminal.app(在Lion下)。
使用Terminal.app是否有任何技巧 - 或者这只是不支持?
答案 0 :(得分:0)
我绝对肯定我过去曾见过基于Applescript的解决方案,但5分钟的google并没有带来任何好处。这有点野蛮,但似乎有用...... IIRC它动态改变了光标形状偏好,并用autocmd
触发。
继续搜索,它在某个地方。
你有什么理由不想使用iTerm吗?
答案 1 :(得分:0)
我自己遇到了类似的问题,发现这个答案有所帮助:
https://superuser.com/questions/712098/customize-vim-cursor-style-under-mac-os-x-terminal
当我开始在tmux中运行vim(仍使用终端)时,更改光标的命令开始工作!
Tmux是一个非常酷的终端管理器,它允许您拥有多个终端窗口,选项卡,分屏,您可以命名,以及保存会话。这是一个很好的教程我曾经安装它并且很有用:
答案 2 :(得分:0)
OP 在 2012 年 8 月问了这个问题。当时 Terminal.app 不太可能支持将光标形状更改为垂直条的功能,因为 Terminal.app 作为一般规则提供的功能很少xterm。 (未记录的 OSC 6 和 7 是该规则的唯一例外)。
xterm patch #282 大约 6 周后引入了此功能,作为对 DECSCUSR
模拟的扩展:
扩展 DECSCUSR 以提供一种将光标设置为垂直条的方法(Paul Bolle 的补丁)。
记录如下:
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.
如类似问题(Customize vim cursor style under Mac OS X Terminal,2017 年 7 月)所示,您可以设置 vim 的变量以使用这些转义序列:
let &t_SI="\033[6 q" " start insert mode (steady bar, xterm)
let &t_EI="\033[1 q" " end insert mode