編輯模式
撤銷操作
命令模式下按一下“u”撤銷一步動(dòng)作(大寫的“U”撤銷所有操作),默認(rèn)對多撤銷50次。“Ctrl+r”可恢復(fù)撤銷。修改/etc/vimrc
中的set history=50
可以修改可撤銷的次數(shù)
光標(biāo)移動(dòng)
vim 10 text.sh
打開文件光標(biāo)顯示在第10行-
字符移動(dòng)
- j ==> 左
- h ==> 上
- k ==> 下
- l ==> 右
-
單詞移動(dòng)
- w ==> 向后移動(dòng)一個(gè)單詞,光標(biāo)定位在詞首
- e ==> 向后移動(dòng)一個(gè)單詞,光標(biāo)定位在詞尾
- b ==> 向前移動(dòng)一個(gè)單詞
-
句間跳轉(zhuǎn)
- ) ==> 跳到下句
- ( ==> 跳到上句
-
段間跳轉(zhuǎn)
- } ==> 跳到下段
- { ==> 跳到上段
-
行間跳轉(zhuǎn)
- 1G/gg ==> 跳轉(zhuǎn)到第一行
- #G ==> 跳轉(zhuǎn)到#行,#為正整數(shù)
- G ==> 跳轉(zhuǎn)至最后一行
-
行內(nèi)跳轉(zhuǎn)
- ^ ==> 跳至行首(第一個(gè)非空字符)
- 0 ==> 跳轉(zhuǎn)至絕對行首
- $ ==> 跳轉(zhuǎn)至行尾
-
翻屏跳轉(zhuǎn)
- Ctrl+f ==> 向后(forward)翻一屏
- Ctrl+b ==> 向前(backward)翻一屏
- Ctrl+d ==> 向前(down)翻半屏
- Ctrl+u ==> 向前(up)翻半屏
-
對于跳轉(zhuǎn)的字符字符,可以添加數(shù)字,進(jìn)行大范圍跳轉(zhuǎn),比如:
- ”3w“向后移動(dòng)3個(gè)單詞,"4e"向后移動(dòng)4個(gè)單詞","5b"向前移動(dòng)5個(gè)單詞
- ”2j“向左移2個(gè)字符, ”3h“向上移動(dòng)3個(gè)字符
復(fù)制粘貼
- yy ==> 整行內(nèi)容被復(fù)制到剪切板
- p ==> 將復(fù)制的行粘貼到光標(biāo)下一行
- dd ==> 整行內(nèi)容被剪切到剪切板
- v ==> 按字符選取(此時(shí)進(jìn)入可視化模式,移動(dòng)光標(biāo),只為選取內(nèi)容)
- V==> 按行選取
輸入模式
輸入模式
- i ==> insert 當(dāng)前光標(biāo)之前插入
- a ==> append 當(dāng)前光標(biāo)之后插入
- I ==> 在行首插入
- A ==> 在行尾插入
- o ==> 光標(biāo)下行插入一行
- O ==> 光標(biāo)上行插入一行
命令模式
窗口屬性定義
命令 | 描述 |
---|---|
:set nu |
設(shè)置行號 |
:set nonu |
取消行號 |
:set ai | autoindent |
設(shè)置自動(dòng)縮進(jìn) |
:set ic | ignorecase |
忽略大小寫 |
:set hlsearch(highlight search) |
搜索高亮顯示 |
:set sm | showmatch |
顯示匹配的括號 |
注意:
- 所有設(shè)置前面加個(gè)“no”即可取消設(shè)置
- 想永久生效,可以寫入
/etc/vimrc
,或者~/.vimrc
查找替換
查找
-
:/text
光標(biāo)向后查找“text” -
:?text
光標(biāo)向前查找“text“ -
n
按照查找方向查找 -
N
按照相反的方向查找
查找添加
-
:%s/\(text\)/\1 text2/g
:”%“全局查找,轉(zhuǎn)義符小括號,引用小括號內(nèi)的內(nèi)容。其實(shí)該命令就是全局查找”text“并替換為"text text2”,只是此處”text“被“\1”引用。
注釋特定行的代碼
-
:.,10s/^/#/g
前10行的代碼都會(huì)被注釋掉,“.”號代表前面的行 -
:5,10s/^/#/g
第5-10行會(huì)被注釋掉
取消注釋
-
:.,10s/#//g
取消前10行的注釋 -
:5,10s/#//g
取消第5-10行的注釋
移動(dòng)多行(剪切多行和粘貼)
-
:10,15d
剪切第10-15行的內(nèi)容,光標(biāo)移動(dòng)至想要的行,比如第2行:n2