2016-08-22

Vim 搭配 Screen 達成單一畫面邊寫、邊跑和邊看結果的方法

有人問過阿舍,而阿舍自己很早也有想過的問題,就是,在 Vim 裡,有沒有什麼辦法可以用多個視窗來一邊改程式、一邊跑程式看結果,然後,還可以有 Shell 可以下指令查東西,意思就是,想要在寫程式時,不用把畫面切來切去就可以一次滿足多個願望哩 ... 不過,Vim 似乎沒辦讓阿舍可以用它滿足所有的願望,因此,阿舍最後,就是搭配 Screen 這個工具來達成的 ...


Screen 是一個可以在單一的終端機 (Terminal) 裡,建立和開啟多個虛擬終端機的工具,阿舍剛開始會接觸到 Screen,是因為阿舍懶得去用 SSH 對同一個機器開啟多個終端機,所以,才會用到 Screen 指令來開多個虛擬終端機來用,而後來,就是因為用 Vim 寫程式的原故,才會想到用 Vim 來搭配 Screen 指令來用會很方便哩 !

有關 Screen 的基礎應用,請參考阿舍寫的這一篇,在弄懂 Screen 的基本操作之後,接下來,其實,只會用到下面所列的 Screen 的二個指令,就可以和 Vim 一樣,把一個畫面切成多個視窗來使用 ... 但是,並不是所有版本的 Screen 都有支援垂直分割視窗的功能,是要有 Patch 過的版本才會有支援的,阿舍在 Ubuntu 15.10 和 16.04 版本試過,是都有支援的,但是,阿舍的 Macbook 裡 Mac OSX 的 Screen 就不支援哩 ~~

# 垂直分割視窗
Ctrl-A |
(這不是小寫 L , 也不是大寫 I )

# 水平分割視窗
Ctrl-A Shift-S

# 切換視窗
Ctrl-A Tab

所以,只要先按 Ctrl-A |,然後,用 Ctrl-A Tab 鍵切到左邊視窗後,再按 Ctrl-A Shift-S,這樣,就可以把畫面割成左一右二的視窗,接著,再用 Ctrl-A Tab 鍵分別切到各視窗去用 Ctrl-A C 建立新的終端機和執行相關指令後,就可以和阿舍一樣,建立像下面這樣的工作畫面哩 ...


但是,如果,你的 Screen 版本是沒有支援垂直分割的話,就會需要自己來做為\ Patch,操作方式請參考 這裡這裡,阿舍的 Macbook 的 Screen 版本雖然沒有支援垂直分割,但是,阿舍覺得在 Mac 上的終端機,只要用 Shift + Command 鍵再加上左右方向鍵就可以在同一個終端機視窗裡的不同終端機畫面做切換,還滿方便的,所以,阿舍後就沒有習慣用 Screen 來切畫面,反而是用 Vim 來切多個視窗同時編多個檔案的機會比較多哩 ... 呵 !




推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

2 則留言 :

匿名 提到...

讚喔,晚點來試試看
感謝阿舍大大

Unknown 提到...

不錯哦~好教學! 另外Tmux也是個終端界面上面的好工具哦

張貼留言

歡迎留言提問和討論 .... 😁