1.多行註釋:python
1. 首先按esc進入命令行模式下,按下Ctrl + v,進入列(也叫區塊)模式;編程
2. 在行首使用上下鍵選擇須要註釋的多行;vim
3. 按下鍵盤(大寫)「I」鍵,進入插入模式;ide
4. 而後輸入註釋符(「//」、「#」等);ui
5. 最後按下「Esc」鍵。編碼
注:在按下esc鍵後,會稍等一會纔會出現註釋,不要着急~~時間很短的spa
2.刪除多行註釋:插件
1. 首先按esc進入命令行模式下,按下Ctrl + v, 進入列模式;命令行
2. 選定要取消註釋的多行;3d
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