【发布时间】:2015-03-20 15:06:00
【问题描述】:
当我退出 vim 时,显示会恢复到我进入之前看到的任何内容。在非 vim vi 上,除了底线之外,您保持 vi 屏幕不变。
vim 中是否有允许后一种行为的选项?
【问题讨论】:
标签: vim
当我退出 vim 时,显示会恢复到我进入之前看到的任何内容。在非 vim vi 上,除了底线之外,您保持 vi 屏幕不变。
vim 中是否有允许后一种行为的选项?
【问题讨论】:
标签: vim
Vim 使用称为 alternate screen 的终端功能在此处编写其 UI,并在退出时恢复原始 shell 内容(Vim 的启动位置)。这由两个 ANSI 转义序列控制(请参阅 how does vi restore terminal content after quitting it)。
您可以在 Vim 中通过清除相应的终端设置来禁用它。将以下内容放入您的~/.vimrc:
set t_ti= t_te=
或者,您也可以在终端中禁用此功能;至少多路复用器screen 和tmux 允许这样做。详情请见Prevent Applications Like Vim and Less Clearing Screen on Exit。
【讨论】:
可能这就是您要查找的内容,只需将以下命令粘贴到您的 .vimrc 中即可。我是从网上的某个地方得到的。
" Return to last edit position when opening files
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
【讨论】: