再談vim中多窗口的編輯 ctrl+w+H窗口位置最大化和互換等操作


參考:http://blog.csdn.net/shuangde800/article/details/11430659 很好

  1. 鼠標在各個窗口間循環移動:
    ctrl+w+(小寫的 hjkl), "非線性"的跳轉的: ctrl_w+t(top : 左上角, +b: bottom, 右下角), p: preview: 上一個子窗口.
    set mouse=a 所有all 的狀態下都可以使用 鼠標..

  2. 窗口本身的位值的移動:
    ctrl_w + r: 窗口本身, 不是鼠標指針順時針 (向下, 向右 移動), R : 則是逆時針反方向(向上, 向左)移動.
    ctrl_w+x: 左右上下對應位置的窗口 對調. 要注意窗口必須是 對應的, 如果不對應將無法對換, 比如左邊一個大窗口, 右邊有兩個小的 子窗口, 則左右不能互換.

  3. 窗口本身 的位置移動, 而且大小也發生"最大化"變化
    Ctrl_w+ HJKL( 注意是大寫的字母 H, J, K, L , 表示要按shift才能實現的)... 要注意, 可以通過 windows 窗口 "貼邊" 最大化來理解, H和 L 就是 向左或向右 最大化貼邊 顯示; 而 JK 則是 向上 或 向下 貼邊 最大化顯示. 最大化后 就不能 再次操作復原窗口了, 其實也沒有必要

  4. 調整窗口的水平/垂直尺寸?
    用ctrl+ w 結合 >, <調整水平尺寸, 用+ - 調整垂直尺寸, 這個是微調. 也可以用純粹的命令用 :resize +/- n, 或者 vertical resize +/- n (支持命令簡寫, 但是要能夠使命令被唯一確定才行. 通常要用5,10,15, 20的大小間隔來調...太小了沒有意義)

  5. 除了這些調整/ 遍歷鼠標的方法, 還有一個關閉子窗口的問題. 關閉的方式, 除了命令外, 還有窗口關閉 的方式: 用ctrl+w + q(quit), c(close), o(other)等.


在vim中, :ls 表示list, 它列出的, 正是 緩沖區中 的內容. 等同於 :buffers.
通過 :ls, 還可以查看各個編輯文件的位置等信息...

而!ls才是列出當前路徑下的文件信息..

如何使buffermini窗口最小化?

先使某個子窗口向左最大化, ctrl_w_H, 然后水平向下最大化 ctrl_w+J, 就可以把其他窗口都 "憋" 到最小化.

set mouse=a的神奇功效!
即使在vim命令窗口, 也可以實現 鼠標 的激活功能; 除此之外, 鼠標還可以 可是化的, 手動的調整拖拽調整 各個窗口的大小; 還可以直接用鼠標單擊miniBuffer上的文件標簽而打開文件

窗口位置的調整,使用的快捷鍵, ctrl_w, 只是適合字符界面窗口, 如果是分頁標簽窗口,則不可以, 因為此時ctrl_w表示關閉窗口????

**一切知識只有在用中學, 只有需求才能真正讓你掌握一種東西, 這真是真理阿 nerdtree在真正的寫代碼, 程序開發中, 才會顯得那么重要! **

.. (up a dir)其實是排除在Tree之外的. 樹的root在.. 之下, 用淺橙色表示的那個就是. x是關閉parent dir, 如果當前本身就是root了,再用x就無效,而且底部報錯.

open和preview的區別? 當然是有區別的! preview只是打開文件, 只是預覽, 鼠標 光標的焦點還是還是在Nerd這里, 可以再次連續操作Nerd, 而不用切換子窗口光標 , 是在 對應的操作 前面加上g

要分類別的記憶nerd的mappings.
file node mappings: enter, douleclicks,o都是在上一窗口打開 (不會新開一個子窗口);go 同樣占用上一個窗口, 但是是preview.
directory node mappings: o: open/close 按原樣(不展開不折疊)..; O: recursively打開;x: close parent, X: 遍歷地關閉當前目錄的所有子目錄
Tree navigation mappings: p, P, j, k, J, K, c-j, c-k;
FileSystem mappings: u, U(都是將root上移一級,U不關閉原來的), r刷新光標所在目錄, R 刷新root目錄, cd 將當前目錄設為選中的目錄, C 將root設置為當前選擇的目錄, CD將root設為當前目錄...
Tree filter mapping:
I: 顯示/隱藏 (.文件)
F:(顯示/隱藏)普通文件.

另外, nerd窗口, 跟其他窗口一樣, 它還相當於一個文件!支持 gg, G, ^f ^u等跳轉, 支持搜索...

nerd如何使用書簽?

首先要打開/啟用標簽, 在NerdTree中, 按B(大寫的).
然后就會出現---bookmarks--- 這個書簽列表.
在 bookmark table mappings 上的快捷健就是 針對這個bookmarks table列表而言的.
包括o打開書簽(目錄的話, 就將書簽設置為root, 相當於C命令). D 刪除書簽.

書簽等"軟件功能", 要根據自己的 設計來 實現 "軟件功能", 不必一定按某個模式框框來做.

vim的set & let的區別: set是全局性的設置, 而let通常是針對某一個軟件自身的設置. NERDTree的自動顯示書簽的設置:

let NERDTreeShowBookmarks = 1
let NERDTreeWinPos = left  // 設置nerdtree的窗口位置

如何刪除某個buffer?

使用命令: bdelete num, 簡寫位 : bdel num, 如 bdel 3. 或者直接簡寫為 bd 3

另外bp, bn

為什么nerdtree窗口中的文件出現那么多的星號?
是指, 如果文件是可執行文件, 就會在nerdtree窗口中, 以星號表示, 標識.標識.

nerdtree的書簽功能很強大, 可以把你常用的 經常要操作的目錄, 文件都集中起來, 而不會去 換來換去

vim, nerdtree, mysql, 包括所有的linux, 都是最接近程序的本質的,一切都是字符, 一切都在你的頭腦中.

Nerdtree中的 文件系統的 快捷鍵映射?

cd 快捷鍵, (注意不是 :方式的 editor 命令), 相當於 cd the_selected_dir, 就是將cwd切換到當前選中的目錄.

CD (大寫字母是針對 tree root而言的), 是將root 設置為, cwd.

C = change, 就是將 tree root設置為當前選中的目錄...

兩行合並的操作, 記得是j什么的, 但不是 ctrl+j, 而是 使用 大寫的 J

在vim中, 快速 跳轉的方式:

補充兩點: 在最近之前的那一次, 位置之間 跳轉, 兩個單引號 ' ', 在上下行的 行首 之間跳轉, 使用的是 加號 和減號 這個還是很方便的.


如何區分alt+f7 和 f8?
f7是移動窗口, 只是出現一個手形狀,
f8是改變窗口的大小, 在手形的下方有窗口大小的數字表示. 那么根據數字就可以區分了.

使用vim的高級操作命令
vim的命令,開始只能記住一些基本的, 常用的命令, 要使用一些更 高效的命令, 只能在 熟練之后, 再反復使用, 才能掌握, 如fd, = find 字符d, 但是有多個字母反復查找就比較麻煩, 直接使用: nfx: 如3f"你要查找的字符", nFx, 而如果要移動到查找字符的前一個字符, 用t或T, 還可以結合分號, 和逗號來移動!
又比如: 到某一行使用 冒號+行號, 更高效的命令是: 行號+G. 而更神奇的移動方法是用 數字+%, 跳轉到百分之多少的地方
交換當前字符和它后面的一個字符xp.

vim的窗口最大化, ctrl_w+大寫的hjkl, h和l其實是反的, 不是在水平方向上最大化, 而是在豎值方向上最大化,H就是靠左, 在豎直方向上最大化.

vim中的c命令?
cw,是修改一個單詞, cc是修改整行, 而 C 是修改到行尾的內容 = c$, 類似的, d是刪除, dw, dd, D =d$, 刪除到行尾的內容!

同一個子窗口中, 如果打開過多個文件, 可以使用 ctrl+^, 在他們之間切換.

對於放棄和保存, 使用all表示針對所有的, 就不用一個文件一個文件的進行保存了.
:wa, :qa

vim中, 幾乎所有的命令都支持 "倍數" 操作: (以dd為例): 倍數n所在的位置有 兩種方式 ndw 或者 dnw, 兩者的命令結果雖然 是一樣的, 但是, 他們 的 含義和操作方式是不同的! ndw 是指dw這個操作重復n次, 而 dnw 則是操作一次, 但是一次刪除n個單詞. 其他命令也是類似的.


RSI: re'petitive strain injury, 重復性疲勞(應力, 張力)損傷.

使用 linux下的 提醒軟件: workrave.

在vim中設置和命令的區別?

設置使用 set命令, 命令的話, 直接使用冒號, 前面不用set. 所以, 如果一個命令用set出錯, 而且報錯: invalid argument(s)/option(s), 就改用 直接輸入命令, 不要set,如: 設置/取消搜索高亮顯示: set hlsearch, 而取消時, 就不用 set, 直接是: :nohl.

以單詞為單位移動光標: w, 向前移動, e同w,但是e是移動到單詞的尾部; b向后移動, 而ge 則是向后移動, 但是移動到 單詞的尾部.
要時長有 倍數操作 的概念, 那樣操作更高效,如: 3w , 3b, 3$等等.


vim多標簽的切換, gt, gT, 是一個一個地往前或向后切換, 實際上也可以直接 切換到 某個標簽, 使用命令: [count]gt/gT, 兩者是不一樣的!
[count]gt, 是切換到順數的 第 n 個標簽頁, 首位的標簽頁是1, 是按順序來數的. 如果當前是第一個標簽頁, 則2gt將切換到第二個標簽頁.
[count]gT, 是向后切換 / 跳躍 / 跨過 n個標簽位置. 是指跳過 幾個標簽, 如: 2gT, 如果當前是第三個標簽, 則切換到第一個標簽頁.


免責聲明!

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



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