vim 快捷鍵


1.多行註釋:

 1. 首先按esc進入命令行模式下,按下Ctrl + v,進入列(也叫區塊)模式;

 2. 在行首使用上下鍵選擇需要註釋的多行;

 3. 按下鍵盤(大寫)“I”鍵,進入插入模式;

 4. 然後輸入註釋符(“//”、“#”等);

 5. 最後按下“Esc”鍵。

注:在按下esc鍵後,會稍等一會纔會出現註釋,不要着急~~時間很短的


2.刪除多行註釋:

 1. 首先按esc進入命令行模式下,按下Ctrl + v, 進入列模式;

 2. 選定要取消註釋的多行;

 3. 按下“x”或者“d”.

注意:如果是“//”註釋,那需要執行兩次該操作,如果是“#”註釋,一次即可


3.多行刪除

1.首先在命令模式下,輸入“:set nu”顯示行號;

2.通過行號確定你要刪除的行;

3.命令輸入“:32,65d”,回車鍵,32-65行就被刪除了。


4.多行拷貝

1.首先在命令模式下,輸入“:set nu”顯示行號;

2.通過行號確定你要拷貝的行;

3.命令輸入“: 10,12 co 15”,回車,10-12行被拷貝到了第15行。


5.多行移動

操作同多行刪除

4.將光標移到待粘貼代碼的位置,按字母“p”,剛剛刪除的代碼被粘貼至這裏


6.撤消操作

在命令模式下按字母“u”


/===========================================================================================/

7.基本移動

h(左箭頭)j(下箭頭)k(上箭頭)l(右箭頭)

0 至行首

$ 到行尾

w/W 至下一個單詞的詞首

e/E 到下一個單詞的詞尾

b/B 至前一個單詞的詞首

ge 至前一個單詞的詞尾

f 在當前行內,向行尾處定位到符合的字符。

    如:class ChurnTest < Test::Unit::TestCase  光標當前在ChurnTest的字母e處,按下fe,光標定位至Test的字母e處。

F 在當前行內,向行首處定位到符合的字符。

    如:class ChurnTest < Test::Unit::TestCase  光標當前在Test的字母e處,按下Fe,光標定位至ChurnTest的字母e處。

t 在當前行內,向行尾處定位到符合的字符的後一個字母處。

    如:class ChurnTest < Test::Unit::TestCase  光標當前在ChurnTest的字母e處,按下te,光標定位至Test的字母s處。

T 在當前行內,向行首處定位到符合的字符的前一個字母處。

    如:class ChurnTest < Test::Unit::TestCase  光標當前在Test的字母e處,按下Te,光標定位至ChurnTest的字母T處。

**以上字母(w/W,e/E,b/B,ge,f,F,t,T)前均可加數字,指定到第幾個符合條件的字符處。


CTRL + f  向下翻頁

CTRL + b 向上翻頁

CTRL + d 向下翻半頁

CTRL + u 向上翻半頁

H 不翻屏,在當前屏,移至屏首

M 不翻屏,在當前屏,移至屏中

L  不翻屏,在當前屏,移至屏尾

gg 光標定位至頁首

G 光標定位至頁尾

* G前可添加數字,光標跳轉到指定行數的行首

    如:5G 光標定位至第5行的行首

*和# 全局查找指定的字符或單詞,查找到的單詞高亮顯示。

    如:在下面代碼中,想查找所有test單詞,將光標定位至第一行test上,按下*或者#鍵,代碼中所有test單詞會高亮顯示。

          1 require 'test/unit'

           2 require_relative 'churn'

           3

           4 class ChurnTest < Test::Unit::TestCase

           5   def test_month_before_is_28_days

           6     assert_equal(Time.local(2005,1,1),

           7                  month_before(Time.local(2005,1,29)))

           8   end

           9

          10   def test_header_format

          11     assert_equal("Changes since 2005-08-05:",

          12                  header(month_before(Time.local(2005,9,2))))

          13   end

          14 end

/或?指定輸入搜索。輸入/或?後需要查詢的字符,再按下回車鍵。按字母n或者N繼續查找。

[[ 向上找方法或類,光標定位至方法或類的開始位置

]] 向下找方法或類,光標定位至方法或類的開始位置

[] 向上找方法或類,光標定位至方法或類的結束位置

][ 向下找方法或類,光標定位至方法或尖的結束位置

% 快速定位匹配成對出來的{}或[]等。

* %前可添加數字,表示快速定位至第一個成對的符號

m 添加標記。光標定位至需要添加標記的地方,按下m後回車,添加標記

· 跳至標記處

' 跳至標記行


/===========================================================================================/

8.基本編輯


i 在光標當前位置插入

I 在行首插入

a 在光標後插入

A 在行尾插入

o 光標下一行插入

O 光標上一行插入

x 向後刪除一個字符

X 向前刪除一個字符

dd 刪除當前一行

.(英文符號)   repeat重複操作。如執行dd後,按下.鍵,繼續向下一行刪除

D 光標當前位置至行尾全部刪除

dw 刪除一個單詞

de 刪除一個單詞,連帶單詞後的空格符一同刪除

cw 修改一個單詞

cnw (n爲數字)  修改n個單詞

C 從光標處到行尾位置,全部進行修改

r 替換光標所在位置的一個字符   如光標定位在單詞change的字母g處,按下re,將g替換爲e,單詞變爲chanee

R 從光標位置開始到行尾,可全部進行替換。

其中,x,X,dd,dw,de,r前勻可帶數字。如3dw 表示刪除3個單詞;3r 表示替換3個字母

yy 拷貝當前行

Y  拷貝選中的所有內容

p/P 粘貼

np/nP(n爲數字)將拷貝的內容粘貼數字n次

J/gJ 合併行,將下一行合併上來。J產生一個空格符,g/J不產生空格符

v/V/ctrl+v 進入visual modes.其中 v 進行字符選中,V 進行行選中, ctrl+v 進行代碼塊選中


/===========================================================================================/

9.多文件操作


緩衝文件操作

vim * 打開當前目錄下的所有緩衝文件。

vim m* 打開當前目錄下m開頭的所有緩衝文件

:ls 查看緩衝文件(%a 表示當前正在打開的文件,#h 表示上一次打開的文件)



:ls! 顯示少量的緩衝文件

:b n(n爲數字) 打開第幾個緩衝文件 如::b 2 打開第二個緩衝文件(churn.rb文件)

:b 文件名 打開指定的文件

:b# 對於已打開的文件相互切換

:bd 刪除正在打開的緩衝文件

:bd n(n爲數字) 刪除第幾個緩衝文件

:bd 文件名 刪除指定的文件

:bd n m 刪除序號爲n和m的文件 如 :bd 2 3 刪除第二和第三個文件

: n m bd 序號從n到m的緩衝文件被刪除

:%bd  除正在打開的文件外,刪除所有緩衝文件


:e 文件路徑+文件名  打開指定路徑下的文件

:split (或者:sp) 文件路徑+文件名 橫向分屏顯示,新文件佔下半屏

:vsp  文件路徑+文件名 豎向分屏顯示,新文件佔右半屏

ctrl+w+x 文件在上下屏切換

ctrl+w+s 同:sp

ctrl+w+v 豎向分屏,同:vsp

ctrl+w+h 切換到左半屏

ctrl+w+j  切換至下半屏

ctrl+w+k 切換到上半屏

ctrl+w+l  切換到右半屏

ctrl+w+h,j,k,l 前均可添加數字(n),表示切換到第n屏

ctrl+w+c 撤消前一步分屏操作

ctrl+w+o 撤消所有分屏,只顯示一屏

ctrl+w+H 將文件移到左半屏

ctrl+w+J  將文件移到下半屏

ctrl+w+K 將文件移到上半屏

ctrl+w+L  將文件移到右半屏


/===========================================================================================/

10.vim help使用


:help/:h/F1 打開幫助文件

:help topic-name 直接跳轉到指定的topic處

ctrl+J 跳轉到某個超鏈接

ctrl+T 返回上一個超鏈接


/===========================================================================================/

11.vimrc file和runtimepath directory

:help vimrc

:help runtimepath

:help helptags


/===========================================================================================/

12.insert mode

:help i

CTRL+W 刪除光標前一個單詞

CTRL+A 刪除光標前一個單詞

CTRL+T 整行向右移

CTRL+D 整行向左移

CTRL+V

CTRL+N 自動補全

CTRL+P 自動補全

CTRL+F 加載文件自動補全


:%s/xxx/yyy/g  批量替換 xxx需要替換的字符串,yyy爲替換後的字符串,g表示全局替換


/===========================================================================================/

13

:saveas 目錄/文件名   將正在打開的文件存入指定目錄下並指定文件名

如:正在打開的文件爲ex1.py

:saveas /tmp/test.txt   將正在打開的ex1.py存入tmp目錄下並重命名爲test.txt。而且同時打開這個重命名的文件


:filetype可以查看Vim的文件類型檢測功能是否已打開,默認你會看到:detection:ON plugin:OFF indent:OFF

detection:默認情況vim會對文件自動檢測文件類型,也就是你看到的'detection:ON',同樣你可以手動關閉:filetype off

plugin:如果plugin狀態時ON,那麼就會在Vim的運行時環境目錄下加載該類型相關的插件。比如爲了讓Vim更好的支持Python編程,你就需要下載一些Python相關的插件,此時就必須設置plugin爲ON插件纔會生效,具體設置方法就是:filetype plugin on


indent:不同類型文件有不同的方式,比如Python就要求使用4個空格作爲縮進,而c使用兩個tab作爲縮進,那麼indent就可以爲不同文件類型選擇合適的縮進方式了。你可以在Vim的安裝目錄的indent目錄下看到定義了很多縮進相關的腳本。具體設置方法:filetype indent on

以上三個參數,可以寫成一行filetype plugin indent on設置在_vimrc文件中。

:set filetype 查看當前文件類型

:set filetype = python 將當前文件類型設置爲tython


:set fileencoding 查看當前文件的編碼格式

:set fileencoding=utf-8  將文件編碼格式轉爲utf-8



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章