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

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix。將永久鏈結加入書籤。

Vim session 與 狀態列 修改 有 9 則回應

  1. johnpupu 說道:

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

  2. Tsung 說道:

    聚會主要是純聊天, 只是最近正好 Vim 討論的比較多~ 😛
    純聊天就可以隨意討論囉~~

  3. johnpupu 說道:

    所以你們是每星期都會聚會??
    還有辦法join 嗎??
    ^^

  4. Tsung 說道:

    嗯嗯, 每星期四都會聚會, 大家都可以參加~
    基本上就是在那邊吃飯, 純聊天~ 不要有任何壓力~ 🙂

  5. johnpupu 說道:

    請問有聚會的資料嗎
    像是地址,晚上約幾點這樣的
    ^^ 小第也想參加

  6. Tsung 說道:

    每個星期四都會有個小聚會, 有空可以多來參與~
    http://hackingthursday.wikidot.com/activity

  7. johnpupu 說道:

    ^^ 感謝

  8. yehchge 說道:

    set ls=2 "laststatus
    set statusline=[%n]
    set statusline+=%

  9. Tsung 說道:

    嗯嗯, 是 statusline+=%n 吧? %n 是 vim tab 用?
    謝謝您提供的資訊~ 🙂

發表迴響

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