2017-04-25 234 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

我試過了,覺得不舒服。有沒有其他的應用程序可以使用類似的功能進行屏幕顯示? –