1. 程式人生 > >Linux - vim安裝 配置與使用

Linux - vim安裝 配置與使用

格式 only ctx net height border term mona 方便

一 Vim 簡單介紹

曾經一直用vi,近期開始使用 vim,以下將兩者做一下比較。

vi和vim都是多模式編輯器,不同的是vim 是vi的升級版本號,它不僅兼容vi的全部指令,並且另一些新的特性在裏面。


vim的這些優勢主要體如今下面幾個方面:
1、多級撤消
在vi裏,按 u僅僅能撤消上次命令,而在vim裏能夠無限制的撤消。
2、易用性
vi僅僅能執行於unix中,而vim不僅能夠執行於unix,windows ,mac等多操作平臺。
3、語法加亮
vim能夠用不同的顏色來加亮你的代碼。
4、可視化操作
就是說vim不僅能夠在終端執行。也能夠執行於x window、 mac os、 windows。


5、對vi的全然兼容
某些情況下,你能夠把vim當成vi來使用。


二 安裝

使用一下命令 #sudo apt-get install vim


三 配置

vim默認的配置使用起來還不能讓人愜意,還須要自己配置
默認配置文件是:/etc/vim/vimrc
我們能夠在家文件夾下建立自己的配置文件
切換到家文件夾

#cd ~
#vi .vimrc


輸入下面配置:
set nocompatible #不使用vi默認鍵盤布局
set number #顯示行號
set autoindent #自己主動對齊

set smartindent #智能對齊
set showmatch #括號匹配模式
set ruler #顯示狀態行
set incsearch #查詢時很方便。如要查找book單詞,當輸入到/b時。會自己主動找到 第一個b開頭的單詞,當輸入到/bo時。會自己主動找到第一個bo開頭的單詞,依次類推,進行查找時。使用此設置會高速找到答案。當你找要匹配的單詞時,別忘記回車.
set tabstop=4 #tab鍵為4個空格
set shiftwidth=4   #換行時行間交錯使用4個空格

set softtabstop=4  #設置(軟)制表符寬度為4
set cindent #C語言格式對齊
set nobackup #不要備份文件
set clipboard+=unnamed #與windows共享剪貼板
四 經常使用命令

1.移動光標

1、左移h、右移l、下移j、上移k

2、向下翻頁ctrl + f,向上翻頁ctrl + b

3、向下翻半頁ctrl + d。向上翻半頁ctrl + u

4、移動到行尾$,移動到行首0(數字),移動到行首第一個字符處^

5、移動光標到下一個句子 )。移動光標到上一個句子(

6、移動到段首{,移動到段尾}

7、移動到下一個詞w,移動到上一個詞b

8、移動到文檔開始gg,移動到文檔結束G

9、移動到匹配的{}.().[]處%

10、跳到第n行 ngg 或 nG 或 :n

11、移動光標到屏幕頂端H。移動到屏幕中間M,移動究竟部L

12、讀取當前字符,並移動到本屏幕內下一次出現的地方 *

13、讀取當前字符,並移動到本屏幕內上一次出現的地方 #


2. 查找替換

1、光標向後查找keyword #或者g#

2、光標向前查找keyword *或者g*

3、當前行查找字符 fx, Fx, tx, Tx

4、基本替換 :s/s1/s2 (將下一個s1替換為s2)

5、所有替換 :%s/s1/s2

6、僅僅替換當前行 :s/s1/s2/g

7、替換某些行 :n1,n2 s/s1/s2/g

8、搜索模式為 /string,搜索下一處為n,搜索上一處為N

9、制定書簽 mx, 可是看不到書簽標記。並且僅僅能用小寫字母

10、移動到某標簽處 `x,1旁邊的鍵

11、移動到上次編輯文件的位置 `.


PS:.代表一個隨意字符 *代表一個或多個字符的反復

正則表達式的內容將會在興許文章中整理


3.編輯操作

1、光標後插入a, 行尾插入A

2、後插一行插入o,前插一行插入O

3、刪除字符插入s。 刪除正行插入S

4、光標前插入i。行首插入I

5、刪除一行dd,刪除後進入插入模式cc或者S

6、刪除一個單詞dw。刪除一個單詞進入插入模式cw

7、刪除一個字符x或者dl,刪除一個字符進入插入模式s或者cl

8、粘貼p,交換兩個字符xp。交換兩行ddp

9、復制y,復制一行yy

10、撤銷u,重做ctrl + r,反復.

11、智能提示 ctrl + n 或者 ctrl + p

12、刪除motion跨過的字符,刪除並進入插入模式 c{motion}

13、刪除到下一個字符跨過的字符。刪除並進入插入模式,不包含x字符 ctx

14、刪除當前字符到下一個字符處的全部字符,並進入插入模式。包含x字符,cfx

15、刪除motion跨過的字符,刪除但不進入插入模式 d{motion}

16、刪除motion跨過的字符,刪除但不進入插入模式,不包含x字符 dtx

17、刪除當前字符到下一個字符處的全部字符。包含x字符 dfx

18、假設僅僅是復制的情況時。將12-17條中的c或d改為y

19、刪除到行尾能夠使用D或C

20、拷貝當前行 yy或者Y

21、刪除當前字符 x

22、粘貼 p

23、能夠使用多重剪切板。查看狀態使用:reg。使用剪切板使用”。比如拷貝到w寄存器,”wyy,或者使用可視模式v”wy

24、反復運行上一個作用使用.

25、使用數字能夠跨過n個區域,如y3x,會拷貝光標到第三個x之間的區域,3j向下移動3行

26、在編寫代碼的時候能夠使用]p粘貼,這樣能夠自己主動進行代碼縮進

27、 >> 縮進全部選擇的代碼

28、 << 反縮進全部選擇的代碼

29、gd 移動到光標所處的函數或變量的定義處

30、K 在man裏搜索光標所在的詞

31、合並兩行 J

32、若不想保存文件,而又一次打開 :e!

33、若想打開新文件 :e filename。然後使用ctrl + ^進行文件切換

4. 窗體操作

1、分隔一個窗體:split或者:vsplit

2、創建一個窗體:new或者:vnew

3、在新窗體打開文件:sf {filename}

4、關閉當前窗體:close

5、僅保留當前窗體:only

6、到左邊窗體 ctrl + w, h

7、到右邊窗體 ctrl + w, l

8、到上邊窗體 ctrl + w, k

9、到下邊窗體 ctrl + w, j

10、到頂部窗體 ctrl + w, t

11、究竟部窗體 ctrl + w, b


5. 宏操作

1、開始記錄宏操作q[a-z],按q結束,保存操作到寄存器[a-z]中

2、@[a-z]運行寄存器[a-z]中的操作

3、@@運行近期一次記錄的宏操作


6. 可視操作

1、進入塊可視模式 ctrl + v

2、進入字符可視模式 v

3、進入行可視模式 V

4、刪除選定的塊 d

5、刪除選定的塊然後進入插入模式 c

6、在選中的塊同是插入同樣的字符 I<String>ESC


7. 跳到聲明

1、[[ 向前跳到頂格第一個{

2、[] 向前跳到頂格第一個}

3、]] 向後跳到頂格的第一個{

4、]] 向後跳到頂格的第一個}

5、[{ 跳到本代碼塊的開頭

6、]} 跳到本代碼塊的結尾


8. 掛起操作

1、掛起Vim ctrl + z 或者 :suspend

2、查看任務 在shell中輸入 jobs

3、恢復任務 fg [job number](將後臺程序放到前臺)或者 bg [job number](將前臺程序放到後臺)

4、運行shell命令 :!command

5、開啟shell命令 :shell。退出該shell exit

6、保存vim狀態 :mksession name.vim

7、恢復vim狀態 :source name.vim

8、啟動vim時恢復狀態 vim -S name.vim
使用思維導圖進行展示:
技術分享

Linux - vim安裝 配置與使用