2017-04-25 141 views
0

使用linux屏幕时,vi编辑器会覆盖所有控制台信息。我期望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 

回答

0

屏幕做到这一点。在屏幕上打开vi编辑器时,它会出现在屏幕上,推回控制台上的所有日志。此外,出于类似的原因,您无法在检查登录屏幕时向后滚动。 但是,每个屏幕都有一个日志文件。它默认记录到屏幕日志%n,其中%n是屏幕窗口号。在您的.screenrc文件中,您可以检查/更改此日志文件的路径。 要开始记录,请使用screen -L命令启动屏幕。

要模拟你需要的,打开一个新的终端选项卡,并执行tail -f screenlog.0。这会为您提供屏幕上实时更新的日志。

---编辑---

如果您熟悉移动到新的应用程序,尝试TMUX。它应该做你需要的。 Read this欲了解更多信息。

+0

难道没有办法避免这种行为吗? –

+0

我不认为你可以覆盖默认屏幕bahaviour。然而,为了模拟你需要的,打开第二个终端标签并在那里做一个'tail -f screenlog.0',它会根据你需要的日志更新为你提供日志。试试吧 – gaganshera

+0

我试过了,觉得不舒服。有没有其他的应用程序可以使用类似的功能进行屏幕显示? –