vim學習基礎
基本操作
(不知道就 :help 操作名)
首先用vim打開文件:(vim區分大小寫)
在shell(windows就是cmd)gvim filename 或 vim filename(多個g就是GUI的G)
我一般是直接打開vim然后 :cd D:\ 到d盤然后:E顯示文件列表,:e! filename 編輯自己的文件
操作模式:
移動光標:用小寫英文字母h、j、k、l,分別控制光標左、下、上、右移一格。向上移動9行,
這可以用"kkkkkkkkk"或"9k"來完成
向上移動9行: kkkkkkkkk=9k(參數+操作符)
操作模式:(到這可以用vim寫東西了)
u撤銷命令,ctrl+r是重做
dd刪除當前行,放入register
D刪除光標至最后=d$
d^刪除光標之前
操作模式—>插入模式:
a 光標下一個字符后輸入
i 當前光標位置輸入
o 進入插入模式,當前行下面插入新行輸入
O 進入插入模式,當前行上面插入新行輸入
cc刪除本行,進入插入模式(光標移動到格式對齊位置)
C刪除光標到該行結尾,進入插入模式
s 刪除當前字符,進入插入模式
S刪除當前行,進入插入模式
注:以上的刪除操作都是將刪除的文本放到了register中。你可以試試p看看你在register中都放了啥吧
*************************************************************************************************
x 刪除當前光標下字符存入register,X刪除光標前一個字符
(和s不同的是,x不進入插入模式)
J 刪除換行符(就是\n)
退出輸入模式Esc進入操作模式
內容寫入文件:
在操作模式下輸入冒號 “:”后面跟著命令,
eg. :w name.txt
:w 為存儲正在編輯的文件, 如果不帶擴展名就會保存當前編輯文件
(以上操作vim不讓就在操作符后面加!)
:q退出當前窗口,后面還有ZZ, :close
-----------------------------------------------------------------------------------------------------------------
選擇模式:
(覺得選擇模式類就是在操作模式上可以用光標選擇自己要編輯的字符串而已)
在操作模式按v
h , j, k, l 移動光標選擇內容
y 復制內容
p 粘貼內容
-----------------------------------------------------------------------------------------------------------
交換模式:
R開始替換,類似insert鍵
r在光標下替換字符
u, U改變當前光標字符大小寫(可視模式(v)下)
---------------------------------------------------------------------------------------------------------------
文件操作
修改當前操作目錄
:cd path_name (:cd D: X, :cd D:\ √)
新建文件:
:new file_name.后綴
新建后用 :w 保存,否則直接關閉不會產生。如果當前已經有正在編輯的文件則在打開以后分裂窗口
放棄編輯:
丟棄所有的修改并退出:q!
解釋:這個命令由3部分組成:冒號(:),用以進入冒號命令行模式;q命令,告訴編輯器退出;最后是強制命令執行的修飾符(.!)
用":e!"命令放棄所有修改并重新載入該文件的原始內容
打開文件:
第一種:
:e fileName 可以帶文件路徑,可使用tab鍵進行文件夾名稱和文件名稱的自動補全,
沒事多按幾下
第二種:
vi filename1 filename2
可以同時打開多個文件
只打開文件時,操作結果和":"命令相同
第三種:
:split filename
會將當前窗體分為多個區域,在新的區域打開文件
第四種:
可以在其他操作命令前加"tab"
eg. tabnew文件名, :tabe 文件名
文件間的切換:
第一種:"ctrl+wwww"(w安的久一點)或ctrl+6用來切換當前區域編輯的前一個文檔
第二種: :ls然后 :e#編號
先使用ls顯示已經打開文件列表和編號
然后用:e#編號 切換需要編輯的而文件
在:ls中各文件的編號在為離開vim前是不會改變的
----------------------------------------------------------------------------------------------------------------
移動
以Word為單位的光標移動:
"w"命令可以將光標向前移動一個word的首字符
3w就是移動3個word
"b"命令則將光標向后移動到前一個word的首字符上
"e"命令會將光標移動到下一個word的最后一個字符
"ge",它將光標移動到前一個word的最后一個字符上
移動到行首或行尾:
"$"命令將光標移動到當前行行尾<End>鍵
"^"命令將光標移動到當前行的第一個非空白字符上
如"1$"會將光標移動到當前行行尾,"2$"則會移動到下一行的行尾
同理 ^ 不一樣。。。
命令"fx"在當前行上查找下一個字符x, eg. 3fl,找到第三個l
"F"命令向左方向搜索
"tx"命令形同"fx"命令, T為反方向
t,f的重復操作可用";"來重復。以","也是重復同樣的命令,但是方向與原命令的方向相反
移動到指定行
G23到底23行,沒參數會到最后一行
"90%"跳到接近文件尾的地方
"H"意為Home, "M"為Middle, "L"為Last.分別為首,中,尾部。
匹配一個括號為目的的移動 %
顯示行號:
:set number (:set nu)
:set nonumber
顯示當前光標位置:
:set設置 ruler 選項。這會在Vim窗口的右下角顯示當前光標位置
滾屏:
CTRL-U命令會使文本向上滾動半屏
CTRL-D命令將窗口向下移動半屏
要一次滾動一行可以使用CTRL-E(向上滾動)和CTRL-Y(向下滾動)。
"zz"命令會把當前行置為屏幕正中央:
"zt"命令會把當前行置于屏幕頂端
"zb"則把當前行置于屏幕底端
簡單搜索:
"/string"命令可用于搜索一個字符串.
eg./include 搜索include
要查找上次查找的字符串的下一個位置。使用"n"命令"?"命令與"/"的工作相同,
只是搜索方向相反使用 n向前查找