vim操作指令

 

           今天研究vim的基本命令和操作,见到一好的网页,特此记录下来备忘。原帖地址:http://homepage.ttu.edu.tw/u9106240/page_main/vim_menu.html#top

 

 

§ 進入輸入模式

在命令模式下輸入以下指令,程式將會進入輸入(insert)模式
此時使用者便可以修改文件檔,
若想跳出輸入模式,則鍵入<ESC>即可回到命令模式。

i
在游標左方進入輸入模式

I
在游標所在行的行首進入輸入模式

a
在游標右方進入輸入模式

A
在游標所在行的行尾進入輸入模式

o (小寫英文字母 o)
在游標下一行另起新行,並進入輸入模式

O (大寫英文字母 o)
在游標上一行另起新行,並進入輸入模式

 

§ 移動游標

k
向上移動游標一個字元
也就是方向鍵的「↑」

j
向下移動游標一個字元
也就是方向鍵的「↓」

h
向左移動游標一個字元
也就是方向鍵的「←」

l
向右移動游標一個字元
也就是方向鍵的「→」

H
將游標移至螢幕頂端

M
將游標移至螢幕中央

L
將游標移至螢幕底端

:數字
將游標移至檔案第 數字
如輸入 :45 ,即移動至檔案第 45 行

數字 G
將游標移至檔案第 數字
如輸入 45G ,即移動至檔案第 45 行

gg
將游標移至檔案第一行

G
將游標移至檔案最後一行

b
移動游標至該單字的第一個字母
若該處已是該單字第一個字母,則游標會移至前一個單字的第一個字母

e
移動游標至該單字的最後一個字母
若該處已是該單字最後一個字母,則游標會移至下一個單字的最後一個字母

w
移動游標至下一個單字的第一個字母

^

§ 捲動視窗

<ctrl>+f
將視窗向下捲動一半

<ctrl>+b
將視窗向上捲動一半

<ctrl>+d
將視窗往下捲動一頁
功能類似鍵盤中的<PageDown>

<ctrl>+u

移動游標至該行第一個非空白字母

 

§ 搜尋文字

/字串
向下搜尋字串
下達此命令之後,若文件中包含該「字串」,則文件中所有「字串」的背景顏色會被置換成較鮮明的顏色,在下達完搜尋指令之後,還可以透過「n」和「N」指令作進一步控制。
n 跳到下一個「字串」所在地
N 跳到上一個「字串」所在地
另外,把游標停在想要搜尋的字串上,按下「*」也可以達到向下搜尋的效果。

?字串
向上搜尋字串
下達此命令之後,若文件中包含該「字串」,則文件中所有「字串」的背景顏色會被置換成較鮮明的顏色,在下達完搜尋指令之後,還可以透過「n」和「N」指令作進一步控制。
n 跳到上一個「字串」所在地
N 跳到下一個「字串」所在地
另外,把游標停在想要搜尋的字串上,按下「#」也可以達到向上搜尋的效果。

 

 

 

 

 


 

§ 複製、移動、刪除文字

yy
將該行文字複製
指令 Y 有相同的功能

p
將所剪下或複製的文字貼上

行數1, 行數2 co 行數3
將 行數1 到 行數2 之間所有的字元複製至 行數3
※注意:行數3 必須原本就存在,否則此命令將無效!
如: 原本的文件:

輸入指令:1, 3 co 3 之後,將會變成

<BackSpace>(在輸入模式下使用)
將游標左邊一個文字刪除

dd
將該行文字刪除
此項指令可與指令 p (貼上)配合使用
而變成是「剪下」的功能

dw
刪除該單字

cc
將該行文字改變
當輸入此指令時,游標所在該行會被刪除,並自動進入「輸入模式」

cw
改變該單字
當輸入此指令時,該單字在游標之後的字元會被刪除,並自動進入「輸入模式」

D
將游標所在該行中右邊的所有文字全部刪除

<ctrl>+w(在輸入模式下)
將游標所在該單字中左邊的所有字元全部刪除

行數1, 行數2 m 行數3
將 行數1 到 行數2 之間所有的字元移動到 行數3
※注意:行數3 必須原本就存在,否則此命令將無效!
如: 原本的文件:

輸入指令:1, 3 m 6 之後,將會變成

行數1, 行數2 d
將 行數1 到 行數2 之間所有的字元刪除
如: 原本的文件:

輸入指令:2, 4 d 之後,將會變成

:g/被替代的字串/s//新字串/g
用「新字串」取代「被替代的字串
如: 原本的文件:

輸入指令:g/is/s//is not/g 之後,將會變成

 

§ 存取檔案 & 離開 VI 程式

:q
不儲存修改地離開 VI 程式
若是沒有對文件做任何修改,使用 :q 即可跳出,
但若修改過文件內容則必須使用 :q! 指令才能成功地不儲存離開。

:q!
不儲存修改地離開 VI 程式

:w
儲存目前所編輯的文件

:w 檔案名稱
將目前所編輯的文件另存新檔至「檔案名稱

:wq
儲存目前所編輯的文件,並離開 VI 程式

:x
儲存目前所編輯的文件,並離開 VI 程式
功能與 :wq 相同。

 

§ 其他指令

u
動作還原
若不小心下錯指令,可以利用這個指令還原。

K
函式查詢
若您在 VIM 中撰寫 C/C++ 程式,可以在 C/C++ 標準函式厙提供的函式名字上按「K」,便可以呼叫出 man page 查詢該函式的用法

=
自動程式縮排對齊
若您在 VIM 中撰寫 C/C++ 程式,可以利用「gg」指令將游標移到視窗最上方、利用「v」切換到選取模式、再用「G」將游標移到檔案尾端 (即達到全選的功能),最後按「=」,VIM 便會幫你的程式做自動對齊

<ctrl>+r
動作重做
若不小心還原錯了,可以利用這個指令重做。

:set all
顯示所有參數
可透過此指令查詢 VIM 支援的所有參數。
若在執行 VIM 程式期間,透過「:set 參數」的方式來設定參數,在每次開啟 VIM 程式時都必須再重新設定一次,若想要讓 VIM 在每次啟動時,都能夠自動載入使用者的設定,則可以在使用者的家目錄下,建立一個名為 「.vimrc」的檔案來存放個人 VIM 的設定。
如:建立一個檔案「vi /home/kevin/.vimrc」,檔案內容為:

此設定中,第一行代表設定字體顏色為適用黑色背景之顏色,第二行表示開啟自動縮排功能,第三行表示開啟顯示行號功能

 

:set nu
顯示行數
若想知道文件的行數,可下達這項指令。

:set nonu
隱藏行數
若想隱藏文件的行數,可下達這項指令。

:set autoindent
自動縮排功能
開啟此功能之後,按下 enter 鍵所產生的新行,會複製前一行最前方的 tab 和 space 數量,以達到對齊的目的。此功能可透過「:set noautoindent」關閉

:set tabstop=數字
設定 tab 對齊的字元數
一般 VIM 設定中,tabstop 的預設值為 8,但在 windows 下,許多文字編輯軟體的預設 tabstop 數為 4,若想要把 VIM 的 tab 對齊字元數變更為 4,可以在 VIM 的命令模式下,下達 「:set tabstop=4」指令

:set background=模式
設定 keyword 字體顏色模式
使用「:set background=dark」指令可以讓 VIM 中的 keyword 以較亮眼的顏色表現出來,適用於暗色系的背景。使用「:set background=light」指令可以讓 VIM 中的 keyword 以較暗沉的顏色表現出來,適用於亮色系的背景。

:split [檔案名稱]
水平分割文字編輯視窗
若有指定「檔案名稱」,則新視窗會開啟該檔案; 若沒有指定,則新視窗仍會開啟原檔案。
另外,在編輯視窗中可以利用 <ctrl>+w 配合方向鍵跳躍選取所要編輯的視窗,
若想要關閉視窗,則在欲關閉視窗裡的命令模式下,
打入離開指令,如: :wq 即可關閉該視窗。

:vsplit [檔案名稱]
垂直分割文字編輯視窗
若有指定「檔案名稱」,則新視窗會開啟該檔案; 若沒有指定,則新視窗仍會開啟原檔案。
另外,在編輯視窗中可以利用 <ctrl>+w 配合方向鍵跳躍選取所要編輯的視窗,
若想要關閉視窗,則在欲關閉視窗裡的命令模式下,
打入離開指令,如: :wq 即可關閉該視窗

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值