Редактор vi переписывает историю команд консоли

При использовании экрана linux редактор vi перезаписывает всю информацию консоли. Я ожидаю, что vi откроет файл как отдельное окно, и при выходе он должен вернуться обратно в консоль.

Мой.screenrc есть,

################
#
# default windows
#
screen -t screen1 1
screen -t screen2 2
screen -t screen3 3
screen -t screen4 4
screen 1

# caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
# hardstatus alwaysignore
# hardstatus alwayslastline "%Lw"
#hardstatus string "[screen %n]:%h"


hardstatus on
hardstatus alwayslastline

hardstatus string '%{= wk}%-w %{bw} [ %n %t ] %{Kd}%+w %-= %{KY} | %D %M %d %Y% | %C %A %{-} '




#caption always
#caption string "%{= bW}%3n %{y}%t %{-}%= %{m}%H%?%{-} -- %{c}%l%?%{-} -- %D %M %d %{y}%c"

#term screen-256color
attrcolor b ".I"    # allow bold colors - necessary for some reason
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'   # tell screen how to set colors. AB = background, AF=foreground
defbce on    # use current bg color for erased chars

vbell  off

1 ответ

Экран делает это. При открытии редактора vi на экране, он появится на экране, отталкивая назад весь журнал на консоли. Кроме того, вы не можете прокрутить назад при проверке журнала на экране по той же причине. Однако на каждом экране есть файл журнала. По умолчанию он регистрируется в screenlog.% N, где%n - номер окна экрана. В вашем .screenrc файл, вы можете проверить / изменить путь этого файла журнала. Чтобы начать запись, запустите экран, используя screen -L команда.

Чтобы эмулировать то, что вам нужно, откройте новую вкладку терминала и выполните tail -f screenlog.0, Это даст вам обновленный журнал с вашего экрана.

---Редактировать---

Если вам удобно перейти на новое приложение, попробуйте tmux. Он должен делать именно то, что вам нужно. Прочитайте это для получения дополнительной информации.

Другие вопросы по тегам