有關Vim教程
在Unix系統上
$export LANG=zh_CN.utf-8 (英 --> 漢)
$ vimtutor
在Windows系統上
:help tutor
文件命令:
打開單個文件
vim file
同時打開多個文件
vim file1 file2 file3 ...
切換到下一個文件
:bn
切換到上一個文件
:bp
在vim窗口中打開一個新文件
:open file
在新窗口中打開文件
:split file(水平分割)
:vs file (垂直分割)
vim的模式 :
正常模式(按 Esc 進入) 左下角顯示文件名或爲空
插入模式(按 i 鍵進入) 左下角顯示--INSERT--
可視模式(按 v 鍵) 左下角顯示--VISUAL-
查找命令:
/text 查找text
?text 查找text,反向查找。
按 n 健查找下一個,按 N 健查找前一個
替換命令:
s/old/new/ 用old替換new,替換當前行的第一個匹配
s/old/new/g 用old替換new,替換當前行的所有匹配
%s/old/new/ 用old替換new,替換所有行的第一個匹配
%s/old/new/g 用old替換new,替換整個文件的所有匹配
移動命令:
h 左移一個字符l 右移一個字符,這個命令很少用,一般用w代替。
k 上移一個字符
j 下移一個字符
以上四個命令可以配合數字使用,比如20j就是向下移動20行,5h就是向左移動5個字符,在Vim中,很多命令都可以配合數字使用
其實,我們平時使用移動命令大部分是使用鍵盤上的 方向鍵。
G 使光標移動到文件底部
1+ G 使光標移動到文件頂部
n(表示數字) + G 使光標移動到第n行
ctrl + g 顯示光標所在行的狀態信息
撤銷和重做:
u 撤銷(Undo)
U 撤銷對整行的操作
Ctrl + r 重做(Redo),即撤銷的撤銷。(很少用到)
退出命令:
:wq (或者 :x )保存並退出
:q! 強制退出並忽略所有更改
:e! 放棄所有修改,並打開原來文件
窗口命令 :
:split或new 打開一個新窗口,光標停在頂層的窗口上
:split file或:new file 用新窗口打開文件
split打開的窗口都是橫向的,使用vsplit ( vs ) 可以縱向打開窗口。
Ctrl+ww 移動到下一個窗口
Ctrl+wj 移動到下方的窗口
Ctrl+wk 移動到上方的窗口
關閉窗口
:close 最後一個窗口不能使用此命令,可以防止意外退出vim。
:q 如果是最後一個被關閉的窗口,那麼將退出vim。
:only 關閉所有窗口,只保留當前窗口
在vim內執行外部shell的命令
:!xx
:!dir (或 :!ls)獲知當前目錄的內容
下面是看 vimtutor 教程所做筆記,
按下Caps Lock鍵(大寫鎖定)
然後按字母鍵j足夠多次來系移動光標,可以內容充滿屏幕(拼接命令)。
1、正常模式下,在文本中移動光標可以使用 箭頭鍵,也可使用h、j、k、l字母鍵。
h (左移) j (下行) k (上行) l (右移)
2、在正常(Normal)模式下,可以按下 x 鍵來刪除光標所在位置的字符
可以按下 i 鍵在光標處插入文本
3、正常模式下,刪除操作 :
dw 從當前光標刪除至單字/單詞末尾
d$ 從當前光標刪除至當行的末尾
dd 刪除整行
命令的格式:
[number] command object 或者 command [number] object(w,$)
各選項含義:
number -- 表命令執行的次數
command -- 表要做的命令 eg: d 表刪除
object -- 表要操作的對象 eg: w 是單字/單詞,$ 是到行末
u 撤銷以前的操作,回到前一次
U(大寫) 撤銷一行中的所有改動
ctrl + r 撤銷掉使用u或U撤銷的內容
4、替換光標所在位置的字符 r+字符
(也可以在r前加數字n,表替換n個字符;替換多個字符 shift + r )
更改項命令 cw單個單詞, c$從光標出到行末
格式:
[number] c object 或者 c [number] object
字母大小寫轉換:
按~鍵,可將光標出的字符轉換大小寫,且光標移動到下一個字符
按 U(大寫)可將選中的內容變爲大寫
按 u(小寫)可將選中的內容變爲小寫
5、定位及文件狀態(正常模式下)
光標定位:
ctrl + g 顯示光標在此文件中所在的行位置以及文件狀態
shift + g 光標跳轉到文件的最後一行
1 + shift + g 光標跳轉到文件的首行(選中某一行的第一列,按gg也可跳轉到文件頭)
num + shift + g 光標跳轉到文件的第num行
搜索指定字符(串)
/字符( 或?字符 )
n鍵向下查找,shift + n 鍵向上查找
差找配對的括號 按 %
在一行內替換第一個字符串 old 爲新的字符串 new, 請輸入 :s/old/new
在一行內替換所有的字符串 old 爲新的字符串 new, 請輸入 :s/old/new/g
在兩行內替換所有的字符串 old 爲新的字符串 new, 請輸入 :#,#s/old/new/g
在文件內替換所有的字符串 old 爲新的字符串 new, 請輸入 :%s/old/new/g
進行全文替換使詢問用戶確認每個每個替換需添加 c 選項, 請輸入 :%s/old/new/gc
6、在正常模式下, vim 內執行外部命令爲 ":"
:!dir ( 或 :!ls) 查看當前目錄的內容
:!rm file 刪除當前目錄下file文件
:w newfile 將當前文件的內容保存到newfile文件中
:#,# w newfile 把當前文件 #~#行的內容保存到newfile文件中
:r file 把file文件的內容提取出來,並放到光標所在位置
7、設置問題
set nu 顯示行號
set ic 英文忽略大小寫
set hls 設置高亮
set cindent 使用C樣式縮進
set noignorecase 不忽略大小寫的查找
set nohlsearch 關閉高亮搜索顯示
set incsearch 逐步搜索模式,對當前鍵入的字符進行搜索而不必等待鍵入完成。
set wrapscan 重新搜索,在搜索到文件頭或尾時,返回繼續搜索,默認開啓。
......8、關於系統自帶的vimrc
Linux用戶
創建 ~/.vimrc
Windows用戶
創建 _vimrc