Vim session 與 狀態列 修改

昨天聚會學到不少新玩意~ 先來紀錄 Vim 的部份.

c9s 開了 VIM 的 Group: Vim-Taiwan | Google Groups

Vim 的狀態列

Vim 的狀態列 只要將下述寫入 ~/.vimrc 即可見到效果~

我的狀態列設定


set ls=2
set statusline=%<%f\ %m%=\ %h%r\ %-19([%p%%]\ %3l,%02c%03V%)%y
highlight StatusLine term=bold,reverse cterm=bold,reverse

編輯時, 會於 狀態列 顯示 檔名、在目前檔案大約幾%的位置、目前所在行數 等等.

pct 狀態列設定

pct 分享的 Status bar 強悍不少~ 顯示: 路徑+檔名, 編碼, 檔案格式, 目前檔案大約幾%的位置、目前所在行數 等~


set laststatus=2
set statusline=%4*%<\ %1*[%F]
set statusline+=%4*\ %5*[%{&encoding}, " encoding
set statusline+=%{&fileformat}%{\"\".((exists(\"+bomb\")\ &&\ &bomb)?\",BOM\":\"\").\"\"}]%m
set statusline+=%4*%=\ %6*%y%4*\ %3*%l%4*,\ %3*%c%4*\ \<\ %2*%P%4*\ \>
highlight User1 ctermfg=red
highlight User2 term=underline cterm=underline ctermfg=green
highlight User3 term=underline cterm=underline ctermfg=yellow
highlight User4 term=underline cterm=underline ctermfg=white
highlight User5 ctermfg=cyan
highlight User6 ctermfg=white

製作 Vim Session - :mksession (與 tab 搭配)

Vim 開了很多 Tab 後, 要離開捨不得, 但是機器要重開, Screen 又無法幫你把這些開啟得文件儲存下來? 這時候 Session 就發揮最大得功用.

  • Vim session: 可以把目前 Tab 開啟哪些檔案, 全部存下來, 下次開啟時, 可以幫你把那些檔案全部都開啟完成, 而且在任何路徑, 只要 :source session-file 就可以一次開啟~
說明
  • :mksession 可簡寫成 :mks, 可以 :mks session.vim(此檔名則為 session file)
制作 Session

於目錄底下會產生 session.vim, 會幫你把目前在哪裡、開啟哪些檔案都記錄下來)

  • :mks session.vim

不過如果要再次儲存的話, 需要使用 :mks! 蓋寫.

  • :mks! session.vim
取出 Session

有下述兩種方式可以取出 Session, vim -S session.vim (在任何路徑, session.vim 也可以搬到任何路徑, 都可以用此方法載入)

  • vim -S session.vim

於 Vim 內, 要開啟 session 的方法

  • :source session.vim
離開
  • :qa # 或 :qall
相關說明
  • :tab help :mksession
  • :tab help :tab
相關操作
  • :tab split
  • :tab vsplit

相關網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈Vim session 與 狀態列 修改〉中有 9 則留言

  1. set statusline+=%{&fileformat}]%m " file format
    換成
    set statusline+=%{&fileformat}%{\"\".((exists(\"+bomb\")\ &&\ &bomb)?\",BOM\":\"\").\"\"}]%m " file format & bomb detect
    這樣 有bom 的話 在file format 那邊就會出現囉!!!
    ps:
    你們都會有定期的聚會討論vim??

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料