tab選項(xiàng)卡

回憶上次

  • 上次有三種批量替換,分別是
    • :windo
    • :bufdo
    • :argdo
    • 執(zhí)行的{cmd}可以用按順序增加
  • 分別對應(yīng)的
    • windows 窗口
    • buffers 緩存文件
    • arguments 參數(shù)文件
  • 各有各自的列表、切換、刪除增加的方式
  • 以什么開始、結(jié)束的模式
    • zs
    • ze
  • 關(guān)于 window 窗口容器
    • 我們切得越細(xì)
    • 可用的范圍越小
    • 總共 80*24 的屏幕資源很快就用完了
  • 我又想多線程訪問
  • 又想有足夠的屏幕來編輯
  • 那怎么辦呢?????
  • 除了window之外還有容器嗎?????

tabs選項(xiàng)卡

  • 我們發(fā)現(xiàn)用windows的方式瓜分屏幕
  • 很快就有了盡頭
  • 因?yàn)閣indow之間彼此不覆蓋
  • 所以80*24個(gè)字符的空間很快被填滿
  • 有什么方法建立可覆蓋的空間么?
    • 還真有那就是tab選項(xiàng)卡
  • ?在terminal中運(yùn)行vi ooo
  • :tabnew oeasy.txt
    • 新建一個(gè)tab選項(xiàng)頁
    • tab里面有一個(gè)window
    • window里面一個(gè)buffer
    • buffer內(nèi)容是oeasy.txt
  • 可以用:tabs查看當(dāng)前有幾個(gè)tab里面分別打開著什么
  • :tabnew h gt
    • 在新的tab選項(xiàng)卡里面查詢gt命令
  • :tabnew ./oeasy.java
    • 在新的tab選項(xiàng)卡里面打開當(dāng)前目錄下的oeasy.java
  • :tabnew ~/.vimrc
    • 在新的tab選項(xiàng)卡里面打開~/.vimrc

切換

  • tabs切換
    • :tabnext - 下一個(gè)tab - 快捷鍵gt
    • :tabprevious - 上一個(gè)tab - 快捷鍵gT
    • :tablast - 最后tab
    • :tabfirst - 最初tab
  • :tabclose 關(guān)閉當(dāng)前tab
  • :tabonly 只保留當(dāng)前的tab

tab中再分window

  • 給第一個(gè)tab水平方向分成兩個(gè)window
    • :split
    • 分別打開o2o3
  • 給第二個(gè)tab先水平
    • 再垂直分成三個(gè)window
    • :split:vsplit
  • 觀察 :tabs

  • 當(dāng)前 window
    • 就是tab 頁 1o3這個(gè)window
    • 前面有大于號表明這是當(dāng)前current窗口window
  • 當(dāng)然也可以
    • :wa
    • :wqa
    • :qa
    • :qa!

選擇

  • 先選擇 tab選項(xiàng)卡
    • :tabnext - 下一個(gè)tab
    • :tabprevious - 上一個(gè)tab
    • :tablast - 最后tab
    • :tabfirst - 最初tab
  • 再選擇window窗口
    • ctrl-wk切換到當(dāng)前窗口上面的窗口
    • ctrl->wj切換到當(dāng)前窗口下面的窗口
    • ctrl-wh切換到當(dāng)前窗口左面的窗口
    • ctrl-wl切換到當(dāng)前窗口右面的窗口
  • 選好了位置之后可以選擇 buffer緩存
    • :b1 把當(dāng)前窗口位置顯示 buffer1緩存內(nèi)容
  • 窗口的隱藏和全屏
    • :hid[e] 可以在當(dāng)前的 tab選項(xiàng)卡 隱藏當(dāng)前窗口
    • 隱藏的 window窗口 中 buffer緩存 不保存
    • 除非設(shè)置了autowrite
    • :on[ly] 可以在當(dāng)前的 tab選項(xiàng)卡
    • 全屏顯示當(dāng)前 window窗口
    • 其他的窗口都進(jìn)入 :hide 狀態(tài)

跳轉(zhuǎn)到指定的選項(xiàng)卡tab

  • tab1跳轉(zhuǎn)到第1個(gè)tab
  • tab2跳轉(zhuǎn)到第2個(gè)tab
  • tab3跳轉(zhuǎn)到第3個(gè)tab
  • tab5跳轉(zhuǎn)到第5個(gè)tab

移動選項(xiàng)卡位置

  • :-tabmove 當(dāng)前選項(xiàng)卡左移動
  • :+tabmove 當(dāng)前選項(xiàng)卡右移動
  • :0tabmove 當(dāng)前選項(xiàng)卡移動到最左邊
  • :tabmove 0 當(dāng)前選項(xiàng)卡移動到最左邊
  • 這樣的選項(xiàng)卡很方便打開一個(gè)幫助
    • :tab help gt

按照選項(xiàng)卡打開文件

  • vim -p file1.js file2.js file3.js
  • 對比原來按照window打開文件
    • vim -o file1.js file2.js file3.js
    • vim -O file1.js file2.js file3.js

  • :tabn:tabp可以切換標(biāo)簽頁
  • 更快速的方法是gt、gT1gt

容器匯總

  • vim命令打開的參數(shù)對應(yīng)一個(gè)列表 - arguments參數(shù)列表
    • 列表 - :args
    • 添加 - :arga
    • 刪除 - :argd
    • 執(zhí)行命令 - :argdo
  • 打開的文件緩存對應(yīng)一個(gè)列表 - buffers緩存列表
    • 列表 - :ls
    • 添加 - :e .
    • 切換 - :b1
    • 關(guān)閉 - :bd
    • 執(zhí)行命令 - :bufdo
  • tab選項(xiàng)卡對應(yīng)一個(gè)列表 - tabs選項(xiàng)卡列表
    • 列表 - :tabs
    • 打開 - :tabnew
    • 切換 - gt、gT
    • 關(guān)閉 - :tabc
    • 執(zhí)行命令 - :tabdo
  • tab選項(xiàng)卡中的窗口對應(yīng)一個(gè)列表 - windows窗口列表
    • 列表 - :sp:vsp
    • 打開 - ctrl+w后加hjkl
    • 關(guān)閉 - :q
    • 執(zhí)行命令 - :windo

總結(jié)

  • 學(xué)習(xí)了一種新的容器 tabs選項(xiàng)卡
  • tabs選項(xiàng)卡 是多個(gè)選項(xiàng)卡tab
    • 可以列兩個(gè)tab
    • 一個(gè)編寫文件
    • 一個(gè)執(zhí)行指令
    • 互不影響
  • 每個(gè) tab選項(xiàng)卡 對應(yīng)多個(gè)window
    • 可以開兩個(gè) window 對比不同
    • 或者在很長的文檔上下對比
    • 新建tab - :tabnew
    • 切換tab - gt、gT
    • 指定tab - 1gt 2gt 3gt
    • 關(guān)閉tab - :tabc
    • 列表tab - :tabs
  • 除了這些之外還有容器嗎?????
  • 下次再說 ????
    [Github地址] (https://github.com/overmind1980/oeasyvim)
    [Gitee地址] (https://gitee.com/overmind1980/oeasyvim)
    [藍(lán)橋?qū)嶒?yàn)樓 邀請碼FJWYIMGB] (https://www.lanqiao.cn/courses/2840)