標籤:
Vim 的常用操作
一. vim中的尋找替換
修改當前行
:s/str1/str2/
修改當前行的第一個str1為str2
:s/str1/str2/g
修改當前行的所有str1為str2
修改第n行到第m行
:n,ms/str1/str2/
修改第n行到第m行的第一個str1為str2
:n,.s/str1/str2/
修改第n行到當前行的第一個str1為str2
:.,ms/str1/str2/
修改當前行到第m行的第一個str1為str2
:n,$s/str1/str2/
修改第n行到最後一行的第一個str1為str2
ps: 如果是修改行的所有str1
為str2
,後面加g即可
替換每一行
:%s/str1/str2/
修改每一行的第一個str1為str2
:1,$s/str1/str2/
修改每一行的第一個str1為str2
ps: 如果是修改行的所有str1
為str2
,後面加g即可
ranges: 上面已經提到了
from: 可以用Regex
to: 要替換成的字元創
flags: 如下所示,這幾個可以組合使用
無 : 只對指定範圍內的第一個匹配項進行替換。g : 對指定範圍內的所有匹配項進行替換。c : 在替換前請求使用者確認。e : 忽略執行過程中的錯誤。
二. vim的常用快速鍵
1. 基本的上下左右
j
: 上
k
: 下
h
: 左
l
: 右
2. 翻一頁
ctrl + f
:向前翻一頁(forward)
ctrl + b
:向後翻一頁(backward)
3. 翻半頁
ctrl + u
:向前翻半頁(up)
ctrl + d
:向後翻半頁(down)
4. 翻一行
ctrl + e
: 向下翻一行
ctrl + y
: 向上翻一行
5. 跳轉到函數和變數的定義處
[ + ctrl + i
: 跳到定義處
[ + ctrl + d
: 跳到#define處
6. 游標的跳轉
ctrl + i
: 往前跳
ctrl + o
: 往後跳
7. 函數體內的跳轉
[{
: 跳到函數體首部
]}
: 跳到函數體尾部
[[
, ]]
, {{
, }}
, 調轉函數體
8. 跳轉單詞
b
: go to the [b]eginnig of this word
e
: go to the [e]nd of this word
w
: go to the start of the following word
1. ctrl + v
的選中,通過上下左右命令的調整的選中
2.shift + v
模式下的選中
vi(
: 選中小括弧中的內容,不包括小括弧
va(
: 選中小括弧中的內容,包括小括弧,下同
vi[
va[
vi{
va{
vi‘
va‘
vi"
va"
Vim 的常用操作