標籤:style http 使用 檔案 os line
------------------------------------------------------------------------------------gvim的四種模式:普通模式,插入模式,替換模式,命令模式。
普通模式》插入模式 i/I 在游標前面/行首插入 a/A 在游標後面/行尾插入 o 在下一行行首插入 O 在上一行行首插入 s 刪除游標所在字元並開始插入(具體用法看x) c 開始刪除,之後進入插入模式(具體用法看d) 插入模式和在windows下一樣,各種快速鍵都能用 另外,在普通模式下,ctrl+s依然是儲存
普通模式》替換模式 r:替換游標所在的字元 數字r:將游標所在向後n個字元都替換掉 R:從游標所在字元開始替換,按esc回到普通模式
普通模式》命令模式: 按:
插入模式,命令模式》普通模式:按esc註:我將插入/替換模式的esc映射成kk了,在插入/替換模式下按kk即可返回普通模式------------------------------------------------------------------------------------普通模式:進入gvim後的預設模式 -------------------------------------------------- 移動: h j k l:左下上右移動 數字 h j k l:左下上右移動n下 w/e:移動到下一個單詞開頭/結尾 b/B(ge):移動到上一個單詞開頭/結尾 f/t a:在當前行,移動到下一個出現a的位置/前 F/T a:在當前行,移動到上一個出現a的位置/前 數字f/t a:在當前行向後移動到第n次出現a的位置/前 數字F/T a:在當前行向前移動到第n次出現a的位置/前 0/$:定位到行首/行尾 ^/g_:定位到非空格的行首/行尾 %:在兩個匹配的符號((,",{)等等中切換(游標需先移動到其中一個符號, 如果不在,則會向後找到最近的一個) 數字%:按照百分比定位文檔 的位置 G:定位到最後一行行首 行號G:定位到對應行號行首 gg:移動到第一行行首 H:定位到當前螢幕的最上邊 M:定位到當前螢幕的中間 L:定位到當前螢幕的最下邊 ctrl+u/d:向上/下滾動半屏 ctrl+f/b:向上/下滾動整屏 zz:把當前行置為螢幕正中間 J:將下一行移動到這一行末尾(合并當前行和下一行) 關於數字鍵: 數字+命令表示執行多次操作, 數字一般放在命令之前.
>>/<<:當前行增大/減小縮排 ==:當前行自動進行縮排
``:反單引號,在兩個跳轉點之間切換,如果你原先處在33行,跳到了55行, 使用這個命令可以回到33行,多次使用就是來回切換, 註:j,k導致的跳轉不可,並且需要是不在同一行內的位置間的切換 ctrl+o/i:跳轉到上一次/下一個游標停留位置(不在同一行內,且不是hjkl導致的游標移動)
-------------------------------------------------- 尋找: /xxx:在全文中尋找xxx,並高亮顯示,字元.*[]^%/?~$ 有特殊意義,需要用\轉義 ?xxx:和/效果一樣,只是尋找方向反向 N/n:在高亮的選中處之間前後切換,前面可以加數字,表示第n次出現的位置 vim會記錄已經尋找過的內容,再次尋找時,可通過上下鍵來切換 #/*:移動到上一個/下一個與游標所在單詞相同的單詞 /\<xxx\>:匹配完整的單詞,如果某單詞中只是包含xxx,不會被匹配上
模式搜尋(Regex搜尋):^ 表示一行的開頭,$ 表示一行的結尾,^the就表示位於行首的the. 表示任一字元,如果想尋找的就是. ,則需要轉義 一個有用的命令 :nohlsearch,此命令可以取消當前的高亮, 簡寫 nohl -------------------------------------------------- 複製,剪下,刪除,粘貼: 在vim中,剪下和刪除是一樣的 下列命令中其實是沒有中間的空格的,這裡只是為了方便閱讀註:幾乎所有的移動,複製,粘貼命令前面都可以加數字,表示重複的次數,也幾乎都可以加上移動鍵,表示向某個方向複製/剪下 y:開始複製 yy/Y:複製當前行 行號yy:從當前行開始,複製多行 y 0/$:從游標處複製到本行開頭/末尾 y w/e:複製一個單詞,或從游標處複製到本單詞末尾 yt a:從游標出開始複製,直到遇見a,a不複製yG:從當前行開始複製直到最後一行yyg:從當前行開始複製直到第一行 x:剪下/刪除游標所在的字元,依然停留在普通模式X:刪除當前游標左邊的字元 數字 x:剪下/刪除從游標開始往後的n個字元,依然停留在普通模式 d:開始剪下/刪除(用法和y類似,不多說了)dd:剪下整行D:剪下至行尾的內容(這點和y不一樣) p:粘貼複製/剪下的內容到游標後面,如果是整行的,則粘貼到當前行的上面 P:粘貼複製/剪下的內容到游標前面,如果是整行的,則粘貼到當前行的下面 數字p/P:粘貼多次 ddp:其實就是刪除當前行再粘貼了,但是你會發現,當前行和下一行換位置了xp:其實就是刪除當前游標所在字元再粘貼,但是你會發現,兩個字元交換位置了
.:普通模式中重複上次的命令,除了u命令,這個只能重複最近的一次命令比如先搜尋出全文中的xxx,然後cwyyy,表示修改成yyy,然後回到普通模式,n.n.n.一直按,之後的xxx都會變成yyy,cwyyy這個命令就會一直重複 -------------------------------------------------- 文字物件之前的複製和刪除都是以字元,行為單位,w,e的作用是從游標處到下個單詞開頭或本單詞結尾,所以要想刪除整個單詞,還得先將游標移動到單詞開頭,這很麻煩,可以使用文字物件搞定aw:a word,表示一個單詞,及其後面的空白,daw表示刪除游標所在單詞及空白iw:inner word,也是表示一個單詞,但是不包括單詞後面的空白as:a sentence,表示一個句子,及其後面的空白,das表示刪除游標所在句子及空白is:inner sentence,也是表示一個句子,但是不包括句子後面的空白
-------------------------------------------------- 可視化選擇: v:可視化選擇,按esc或再次按v退出,選擇的內容會被複製在可視化選擇模式中,移動鍵,數字鍵,都是可以使用的V:整行可視化選擇ctrl+q:塊可視化選擇,其實應該是ctrl+v,但是windows裡這個是粘貼,所以不能用gg,然後ctrl+q(ctrl+v),然後按G,就可以選擇文本的第一列o:在(塊)可視化選擇狀態下,使游標移動到選擇地區的另一頭O:在塊可視化選擇狀態下,使游標移動到這一行的另一頭 -------------------------------------------------- 宏:按q鍵開始錄製宏,一般跟上寄存器的名字,寄存器可使用26個英文字母如qm,表示將宏錄製到m寄存器中,然後進行一系列操作,都會被記錄下來,再次按q,退出宏錄製,按@m表示播放m寄存器中的宏,前面可以加數字表示播放次數,按@@表示播放之前播放過那個個宏, -------------------------------------------------- 自動補全: ctrl+p:牛逼到爆
----------------------------------------------------剪下板: y, d, c, x等等命令都是將內容存進了vim的剪下板, 如何和windows的剪下板互動? 在這些命令之前加 "* , 即可
-------------------------------------------------- 其他: u:撤銷上次操作, U: 行撤銷, 可以撤銷所有在最近行上的編輯操作. ctrl+r:恢複上次操作(ctrl+y也可以,但它是windows中的快速鍵) ctrl+l:有時候vim中的有些文字會花掉,此快速鍵可以重新整理視圖 gU/gu:將選中的內容轉化為大/小寫 ctrl+p:自動補全之前編輯過的單詞,片語 ZZ:退出當前編輯的檔案------------------------------------------------------------------------------------命令模式 -------------------------------------------------- 一般命令: 命令模式前面都有個":"這裡就省略了 w:儲存不退出 wq/x: 儲存退出 q/q!:不儲存退出/強制不儲存退出 e!:放棄所有修改,載入檔案的初始狀態,慎用! pwd: 顯示目前的目錄 !shell指令:執行shell(dos)指令 r!shell指令:將shell(dos)指令的執行結果寫到當前行的下面 在命令模式裡按上下箭頭可以切換之前輸入的命令 -------------------------------------------------- 編輯多個檔案:e/edit 檔案路徑:在當前標籤頁中開啟檔案,路徑中使用/或\都可以,可使用tab鍵自動補全檔案名稱。也可以一次開啟多個檔案,檔案路徑中間以空格隔開previous/next:切換到上一個/下一個開啟的檔案wprevious/wnext:儲存當前檔案,然後切換到上一個/下一個開啟的檔案bp/bn:在當前標籤頁中切換上一個/下一個檔案 vim -R filename, 以制度方式開啟
-------------------------------------------------- 分割視窗:split:在當前視窗上方分割一個視窗,新視窗中依然是當前檔案new:分割出新的空視窗split filepath:在新視窗開啟檔案new filename:在新視窗中編輯檔案split,new命令都可以在前面加上數字,表示新視窗的高度(行數)ctrl+w w:在兩/多個視窗鍵切換ctrl+w +/ctrl+w -:當前視窗擴大/縮小一行,前面可以加數字,表示擴大/縮小多行數字 ctrl+w _:將視窗變為指定高度:close/:q/ZZ:都可以退出當前視窗only:關閉其它所有視窗,只保留當前視窗 wall, 全部儲存, qall, 全部關閉
CTRL-W h 到左邊的視窗CTRL-W j 到下面的視窗CTRL-W k 到上面的視窗CTRL-W l 到右邊的視窗CTRL-W t 到頂部視窗CTRL-W b 到底部視窗ctrl-w H,J,K,L, 左右上下移動視窗
-------------------------------------------------- 標籤頁一般來說tabe,tabedit,tabnew的作用是一樣的,下面都用tabe,除非有特殊情況tabe:開啟新的標籤頁tabe e:/xxx:在新標籤頁中開啟檔案tab:後面跟可以開啟新視窗的命令(如 help),在新標籤頁開啟新視窗,如 tab help
-------------------------------------------------- 替換:[range]s/from/to/[flags],表示將range範圍的from替換成to,flags匹配範圍s/aaa/bbb/:表示把當前行的第一個aaa替換成bbb,不指定flag就只替換第一個%s/aaa/bbb/g:把全文中的所有aaa替換成bbb,g的意思是指全部匹配的行號1,行號2s/aaa/bbb/g:把行號1和行號2之間的aaa替換成bbb行號1,行號2s/^/aaa/g:把行號1和行號2之間的行前面都加上aaa(即,可以使用正則)另外,.代表當前行,$ 表示最後一行行號1,行號2s/^/\/\//g:從行號1和行號2之間的行都加上//注釋(這是因為/有特殊用途,需要轉義)行號1,行號2s/\/\//g:從行號1和行號2之間的行都去掉//注釋另一種轉義的方法是,使用+代替/,/正常使用,如 4,8s+aa/bb+aa or bb+ -------------------------------------------------- 定位以下命令執行後都會返回普通模式G:定位到最後一行行號:定位到對應行號行號1,行號2d:刪除從行號1到行號2的內容行號1,行號2>>:從行號1到行號2向右移動一個tab行號1,行號2>>:從行號1到行號2向左移動一個tab/xxx:在全文中搜尋xxx,並高亮顯示,按 n 鍵可在選中處間切換 ------------------------------------------------------------------------------------
來自為知筆記(Wiz)
附件列表