tedshd's DevNote

Develop & Design Note by Ted

Your posts match “ Vim ” tag:

Vim

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

Vim config in Mac

Some different in Mac

PageDown, PageUp, Home, End

It is not useful in setting vimrc.

Solution
Terminal->Preference->KeyBoard

Home:     \033[1~
End:      \033[4~
PageUp:   \033[5~
PageDown: \033[6~

Vim - JavaScript auto complete

Vim - JavaScript auto complete

因為同事幾乎都在用 Vim 但我每次都在看他們一直打字我看了就很痛苦 所以就建議他們用 auto complete 的功能, 但我個人因為很少用 Vim 所以就讓他們自己去找套件(我個人不喜歡在 Vim 上裝套件)

但他們似乎都遇到困難 所以我就找了一下找到個不用裝套件又可用在 Linux 和 Mac 上最簡單的 JavaScript auto complete 的方式, 應該是因為 Vim 已經內建了

只要在 .vimrc 設定

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS

使用就是輸入部分關鍵字後先按 Ctrl + x 再按 Ctrl + o 就可以了

但只支援舊的 JavaScript API

Refer - How to auto-complete JavaScript syntax in Vim

如果要新的得再試別的方法
似乎可以補字庫進去
More

VIM的JavaScript补全