:wq
shift zz (按住shift,按z是大寫的z)
:r 檔案路徑檔名 (匯入檔案內容到游標下一行)
檔案命令
同時開啟多個檔案
vim file1 file2 file3
在vim視窗下開啟乙個新檔案
:open file
在新視窗中開啟檔案
:split file
切換到下乙個檔案
:bn切換到上乙個檔案
:bp檢視當前開啟的檔案列表,當前正在編輯的檔案會用 [ ] 標註
:args
插入命令
i 在游標前插入
a 在游標後插入
i 在游標行首插入,本行第乙個字元前
a 在游標行末尾插入
o (小寫)在游標下方新建行
o (大寫)在游標上方新建行
u 撤銷
查詢命令
/file 查詢file,按 n 鍵查詢下乙個,按 n 鍵查詢上乙個。
:set ignorecase 或 :set ic 忽略字母大小寫的查詢
:set noignorecase 或 :set noic 不忽略字母大小寫的查詢
:set hlsearch 高亮顯示搜尋結果,高亮顯示所有查詢內容
:set nohlsearch 關閉高亮顯示,下次查詢不開啟
:nohlsearch 關閉本次查詢的高亮顯示,下次開啟
:set nu 或者 :set number 設定行數
: set nonu 取消行號 替換
shif + ~ (esc模式下)游標所在處的字元進行大小寫互換
:%s/old/new/g 全文替換字串,把old替換成new
: 2,10s/old/new/g 替換2到10行字串
如果要確認 選擇c 不確認是g
:2,10s/old/new/c
:32, $s/name// 替換32行的第乙個 name 為空
移動
h 左移乙個字元
l 右移乙個字元 (此命令少用,一般用 w 代替)
k 上移乙個字元
j 下移乙個字元
(10h,向左移動10個字元; 8j,向下移動8行)
w 向前(右)移動乙個單詞(2w,向前移動2個單詞),游標停在單詞首部。
b 向後(左)移動乙個單詞 (2b,……)
e 同 w 但是游標停在單詞尾部
ge 同 b 游標停在單詞尾部
gg 移動到本檔案頭部,最頂端。
g 移動到檔案尾部
ng 到n行
:n 到n行
0 (零) 移動到本行第乙個字元上(含空白字元)
^ 移動到本行第乙個非空白字元上
$ 移動到行尾 (3$ 移動到下面三行的行尾)
跳到指定行,冒號+行號,回車,比如跳到240行就是 :240回車。另乙個方法是行號+g,比如230g跳到230行。
ctrl + e 向下滾動一行
ctrl + y 向上滾動一行
ctrl + d 向下滾動半屏
ctrl + u 向上滾動半屏
ctrl + f 向下滾動一屏
ctrl + b 向上滾動一屏
撤銷和重做
u 撤銷(undo)
u 撤銷對整行的操作
ctrl + r 重做(redo),即撤銷的撤銷。
刪除
x 刪除當前字元(也可以是 dl )(3x 刪除當前游標開始向後三個字元)
x 刪除當前字元的前乙個字元(也可以是 dh)
dd 刪除當前行
10d 刪除當前行開始的10行
dj 刪除上一行
dk 刪除下一行
jdg(j d shift + g)刪除當前行之後所有行(不包括當前行)
kdgg 刪除當前行之前所有行(不包括當前行)
d$ 刪除當前字元之後的所有字元(本行)
d 刪除當前字元至行尾。d=d$
j (shift + j) 刪除兩行之間的空行,實際上是合併兩行。
:1,10d 刪除1-10行
:11,$d 刪除11行及以後所有的行
:1,$d 刪除所有行 :
1,10g/^$/d 刪除1到10之間的空行
複製和黏貼剪下
yy 或 y 拷貝當前行
nyy 或 ny 拷貝當前後開始的n行,比如2yy拷貝當前行及其下一行。
p 在當前游標行後貼上,如果之前使用了yy命令來複製一行,那麼就在當前行的下一行貼上。
p 大p,當前游標行之上覆制
shift+p 在當前行前貼上
dd 按p剪下 dd也是刪除命令
定義快捷鍵
:map ^p i#ctrl+p ( ^是按ctrl+v出來的,大寫的i是在行首插入,行首插入#號,然後esc鍵返回命令模式)
:map ^b 0x ctrl+b (刪除行首的字元,x表示刪除游標所在的字元)
取消:unmap ^p
:2,7s/^/#/g 在2到7行的行首加上#號 ^ 表示行首
:2,7s/#//g 把行首的#號去掉 //無內容表示替換為空,但是如果後面也有#號也會去掉
:2,7s/^#//g 只把行首的#號去掉
如果行首需要加上 // 兩個斜槓,需要用轉義符\
:2,7s/^/\/\//g
替換 :ab sb [email protected] 輸入sb 回車就會變成[email protected]
取消 :unab [email protected]
永久配置以上
如果是個人使用者在使用者家目錄
自建乙個 .vimrc的檔案
set nu
map ^b i#
就可以了
全域性使用者在 /etc/vimrc 盡量別操作
多行縮排:
按v進入visual狀態,選擇多行,用》或《縮排或縮出
在命令狀態下對當前行用== (連按=兩次), 或對多行用n==(n是自然數)表示自動縮排從當前行起的下面n行。
你可以試試把**縮排任意打亂再用n==排版,相當於一般ide裡的code format。使用gg=g可對整篇**進行排版。
visual模式有三種:
預設的visual模式
,按下 v 就可以進入
visual line模式,v 可以進入
visual block模式,ctrl-v 進入
檢視編碼
:set fileencoding
:set fileencoding=utf-8
一些快捷鍵
ctrl-a 可以將游標所在處的數字加1,負數和多位數都在支援範圍內
ctrl-x 有加1就會有減1
vim 命令 Vim常用命令
4.編輯 我發現膝上型電腦接外接鍵盤以後,使用觸控板和操作滑鼠都變得比較麻煩,所以想要學習一下vim,寫一篇筆記記錄常用命令。基本上vim共分為三種模式,分別是命令模式 command mode 輸入模式 insert mode 和底線命令模式 last line mode 啟動vim,便進入了命令...
VIM常用命令
vim命令記錄 vim是乙個非常強大,也非常複雜的編輯器。就連常用的命令也數以百計,而且通過各種組合,更是能夠達到數量驚人的地步。本文是我跟著vim使用者手冊學習vim的使用而作的記錄,記下一些vim的常用命令,方便查詢和複習。當然了,對於那些十分常用,比如 i 進入insert模式這種命令當然不會...
VIM常用命令
常用命令 1 游標命令 k,j,h,l 上下左右游標移動命令,雖然可以在linux中使用鍵盤右邊的四個游標鍵,但是記住這四個命令還有非常有用的,也就是右手在鍵盤上放置的位置部分 ng n為行數,該命令立即使游標跳到指定行。ctrl g 游標所在位置的行數和列數報告 w,b 使游標向前或向後跳過乙個單...