Vim part.1 新手教學

前言

推坑朋友用,可以直接在cli command vimtutor看原文教學

quit

在一切開始之前,先跟大家說:q!是離開vim XD,看看stackoverflow上被view了1,775,146 times問題
若要存檔離開則是 :wq

開啟檔案

vim FILENAME

指令:移動

首先是移動 ( 如果把字打進去了,先按<ESC>退回 normal mode )

         ^
         k             
   < h       l >               
         j                     
         v

移動到行頭:0
移動到行尾:$
移動到文件頭:gg
移動到文件尾:G
移動到第幾行:<number> G
回到上一個位置:Ctrl-O
回到下一個位置:Ctrl-I
移動到對應的括號:%

指令:刪除字元

刪除一個字元:把游標移動到要刪除的字上,按x

指令:切換到 insert mode

在要插入文字的地方按i進入編輯模式
A:跳到行尾並進入編輯模式
o:往下插入一行;O:往上插入一行

指令:剪下 ( d motion )

dw: 刪除到下一個字頭
d$: 刪到行尾
dd: 刪除整行,d3d刪除三行,以此類推

指令:剪下 ( c motion )

ce:可以看成de+i

指令:複製

yy:複製整行

指令:貼上

p會把剛剛剪下的東西貼到游標後面

指令:還原

u:還原上一個動作
U:還原這行的改變
CTRL-R:redo

指令:取代

輸入r後取代一個字元
R:進入取代模式 ( 有點像輸入模式的使用 )

指令:狀態

CTRL-G:顯示檔案名稱、行數等等資料

指令:搜尋

/:向下搜尋
?:向上搜尋
n:下一個
N:上一個

指令列:尋找&取代

:s/old/new:取代這行的第一個old成new
:s/old/new/g:取代這行全部的old
:<number>,<number>s/old/new/g:取代所有在指定行中間的old
:%s/old/new/g:取代文件中的所有old
:%s/old/new/g:在取代文件中的所有old前先確認

指令列:外部指令

:! ls:執行ls
:! rm FILENAME:刪除檔案,以此類推,可用<tab>補全

指令列:跟檔案互動

:w FILENAME:儲存整個文件到檔案
v motion&:w FILENAME:將選取範圍儲存到檔案
:r FILENAME:將檔案內容讀入並放到游標後面
: r ! ls:將指令結果放到游標後面

指令列:設定參數

:set xxx:設定參數;:set noxxx:取消設定
:set ignorecase:ignore upper/lower case when searching
:set hlsearch:highlight all matching phrases
:set incsearch:show partial matches for a search phrase
:set paste

vimrc

自定義自己的vim環境

關於 help

:help:打開help頁面
:help w:打開help頁面並跳到關於w的部份
Ctrl-W Ctrl-W在視窗中切換
:q關閉help頁面

working…

mode

vim分為幾個模式

  • insert (and replace)
  • normal (command)
  • visual
  • select
  • command-line
  • Ex-mode

normal mode

移動

         ^
         k             
   < h       l >               
         j                     
         v

刪除

刪除一個字元:把游標移動到要刪除的字上,按x

d motion

w delete word
$ end of line

dd

wuntil the start of the next word
eto the end of the current word
$to the end of the line
0

進入 insert / replace mode

Leave a Reply

Your email address will not be published. Required fields are marked *