Skip to main content

Tedshd's Dev note

Vim

Table of Contents

# Vim

More

a 輸入文字

i 插入字元

o 新增一行

:wq 儲存後離開

:w 儲存

:q 離開

:q! 離開不存檔

:w! 儲存 readonly

Esc 離開編輯模式

h 左

j 下

k 上

l 右

v 選擇

yy 複製整行

nyy 複製n行

yw 複製游標到單字結束

nyw 複製游標到n個單字結束

p 貼上

d + <- 刪除游標前一個字元

d + -> 刪除游標後一個字元

d + up 刪除游標所在和前一行

d + down 刪除游標所在和後一行

dd 刪除游標所在那一行

dw 游標停在某字第一個刪此字 停在字中刪後面的字

x 刪除游標所在字元

X 刪除游標所在前一個字元

nx 刪除游標所在n個字元

nX 刪除游標所在前n個字元

e 跳到本單字最後一個字元

w 跳到本單字第一個字母(往後)

b 跳到本單字第一個字母(往前)

? or / 輸入要找的字

把當前字元高亮(highlight)

N 移到上一個找到一樣的字

n 移到下一個找到一樣的字

r 直接改游標上的字

cc 直接改游標那一行

:g/字串/s//要換的字串/g 把文件中的某一字串全替換掉

:g/字串/s//要換的字串/gc 文件中某一字串替換掉(可選)

u 取消前一次動作

Ctrl + r 回覆u的動作

. 繼續上一個指令

Ctrl+g 顯示游標所在行數

nG 跳到n行

gf 直接開啓該路徑的檔案

Ctrl + o 關閉開啓的檔案

Ctrl + w f 在新視窗開啓該路徑的檔案

分割視窗

:sp 垂直分割

:vsp 水平分割

:sp . 垂直分割(新視窗為該目錄list)

:vsp . 水平分割(新視窗為該目錄list)

:new 開新垂直分割

:vnew 開新水平分割

Ctrl+w hjkl(左下上右) 切換視窗

Ctrl+w = 等比例分配

垂直分割 Ctrl+w Shift++ 該視窗大小加一行

Ctrl+w Shift+n++ 該視窗大小加n行

水平分割 Ctrl+w < 向左加一字元的空間

Ctrl+w > 向右加一字元的空間

:tabe 開tab分頁

gt 下一個分頁

Ctrl + z vim跳至背景(fg跳回前景)

:%s/old/new/g 取代所有字串為新字串

:s/old/new/g 取代所在行數字串為新字串

:set paste 設定成可貼上 terminal 外的的 text

:set nu 顯示行數

:set nonu 不顯示行數

Mac

^f forward == page down

^b back == page up

$ end of line