4. VIM 系列 - 認識VIM的緩沖區、窗口、標簽頁


1. 緩沖區

文件和緩沖區的區別

vim 打開一個文件時,其實是從磁盤中讀取文件到內存中,vim的一些操作其實是在操作緩沖區,
當使用vim的保存命令時,vim才將緩沖區寫回給文件。

操作緩沖區

命令 用途
:bprev 跳轉到前一個buffer
:bnext 跳轉到后一個buffer
:bfirst 跳轉到第一個buffer
:blast 跳轉到最后一個buffer
:w 將當前buffer寫入文件
:e 重新將文件內容加載到緩沖區(回滾buffer修改)
:qa! 關閉所有buffer,且不保存
:wa! 保存所有buffer

2. 窗口

在Vim 術語中,窗口是緩沖區的顯示區域。既可以打開多個窗口,在這些窗口中顯示同一個緩沖區,
也可以在每個窗口里載入不同的緩沖區。Vim 的窗口管理系統很靈活,可以根據工作的需要來調整
工作區。

操作窗口

命令 用途
s 水平切分當前窗口,新窗口仍顯示當前緩沖區
v 水平切分當前窗口,新窗口仍顯示當前緩沖區
sp 水平切分當前窗口,新窗口仍顯示當前緩沖區
vsp 水平切分當前窗口,新窗口仍顯示當前緩沖區
w 在窗口間循環切換
h 切換到左邊的窗口
j 切換到下邊的窗口
k 切換到上邊的窗口
l 切換到右邊的窗口
c 關閉活動窗口
o 只保留活動窗口,關閉其他所有窗口

3. 標簽頁

Vim 的標簽頁接口和其他許多文本編輯器不同,在Vim中,可以用標簽頁把窗口組織到一系列工作區中。

典型文本編輯器的圖形界面(GUI)有一個用於編輯文件的主工作區,還有一個顯示當前工程目錄樹的側邊欄。
如果點擊側邊欄中的文件,它會在主工作區為所選中的文件打開一個新標簽頁。每個打開的文件都會創建一個新
標簽頁。在此模型中,可以說標簽頁代表了當前打開的文件。

Vim 的標簽頁與緩沖區並非一一對應的關系,相反,應該把標簽頁想成容納一系列窗口的容器。每個標簽頁都可
包含一個或多個窗口。

操作標簽頁

命令 用途
:tabe[dit] {filename} 在新標簽頁中打開 {filename}
:tabc[lose] 關閉當前標簽頁及其中的所有窗口
:tabo[nly] {filename} 只保留活動標簽頁,關閉所有其他標簽頁
:tabn[ext] {N} 切換到編號為 {N} 的標簽頁
:tabn[ext] 切換到下一標簽頁
:tabp[revious] 切換到上一標簽頁

4. 設置一下熱鍵

~/.vimrc 配置一些熱鍵

" 窗口快捷方式
map <s-h> <c-w>h
map <s-l> <c-w>l
map <s-j> <c-w>j
map <s-k> <c-w>k
map <s-w> <c-w>w
map <s-c> <c-w>c
map <s-o> <c-w>o

" buffer 快捷方式
nnoremap <Leader>bn :bn<CR>
nnoremap <Leader>bb :bp<CR>
nnoremap <Leader>bf :bfirst<CR>
nnoremap <Leader>bl :blast<CR>
nnoremap <Leader>bc :bwipe<CR>

" 標簽頁快捷方式
nnoremap <Leader>tp :tabp<CR>
nnoremap <Leader>tn :tabn<CR>
nnoremap <Leader>tc :tabc<CR>
nnoremap <Leader>to :tabo<CR>
nnoremap <Leader>tN :tabn
nnoremap <Leader>te :tabe


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM