Восстановление сеанса после запуска сценария оболочки

Может быть, что-то вроде:

function LoadFile()
  0r ~/.vim/skel/tmpl.%:e
  exe "normal /<CURSOR>\<Cr>"
endf

autocmd! BufNewFile * silent! call LoadFile()
2
31.05.2018, 02:18
2 ответа

Debe utilizar las opciones terminfo cup. Esto se puede hacer desde un shell con el comando tput.

por ejemplo

tput smcup
clear
echo hello
echo there
read
tput rmcup

Esto borrará la pantalla, imprimirá dos líneas, esperará a que presione RETURN y luego restaurará la pantalla a donde estaba antes.

Esto requiere la definición terminfode su terminal para admitir esto, por supuesto. No todos los terminales tienen la capacidad.

2
27.01.2020, 22:09

Использование clearили tput clearискажает историю исходного экрана при использовании в сценарии bash. Экран все еще там, но только видимый экран. Вся история ушла. Мне потребовалась целая вечность, чтобы узнать, что clearнужно заменить наtput cup 0 0(в моем случае работает, поместив курсор вверху слева ).

tput smcup
tput cup 0 0  # position cursor top left, simulate clear
...script
tput rmcup
0
11.10.2021, 09:21

Теги

Похожие вопросы