vim文字編輯器

來源:互聯網
上載者:User

標籤:入門學習   比例   軟體   a10   緩衝   不顯示   shell   sublime   大量刪除   

一、什麼是vim
vi命令是UNIX作業系統和類UNIX作業系統中最通用的全螢幕純文字編輯器。Linux中的vi編輯器叫vim,它是vi的增強版(vi Improved),與vi編輯器完全相容,而且實現了很多增強功能。
Linux下的文字編輯器還有Emacs、Notepad++、TextMate、Sublime Text 等等,vim編輯器是使用最廣泛的一個,功能也很強大,今天我們就來介紹下vim編輯器
Vim 是 Linux 系統上的最著名的文本/代碼編輯器,也是早年的 Vi 編輯器的加強版,而 gVim 則是其 Windows 版。它的最大特色是完全使用鍵盤命令進行編輯,脫離了滑鼠操作雖然使得入門變得困難,但上手之後鍵盤流的各種巧妙組合操作卻能帶來極為大幅的效率提升。

因此 Vim 和現代的編輯器(如 Sublime Text)有著非常巨大的差異,而且入門學習曲線陡峭,需要記住很多按鍵組合和命令,如今被看作是高手、Geek們專用的編輯器。儘管 Vim 已經是古董級的軟體,但還是有無數新人迎著困難去學習使用,可見其經典與受歡迎程度。另外,由於 Vim 的可配置性非常強,各種外掛程式、文法高亮色彩配置等多不勝數,無論作為代碼編輯器或是文稿撰寫工具都非常給力,那麼學習好 Vim 的操作絕對能讓你的工作輕鬆百倍!!因為很多時候, Linux 作為伺服器是不會開啟圖形介面,當需要遠程操作時,你只能利用 SSH“命令字元式”的 Shell 介面對其進行操作,這時如果你需要修改伺服器上的網頁代碼或設定檔,VI 或 VIM 命令就是你最佳最方便也是最強大的夥伴了!相信我,學好 數理化 VIM,走遍天下也不怕…...
二、vim的使用
vim編輯器支援編輯模式和命令模式,編輯模式下可以完成文本的編輯功能,命令模式下可以完成對檔案的操作命令,要正確使用vim編輯器就必須熟練掌握著兩種模式的切換。預設情況下,開啟vim編輯器後自動進入命令模式。從編輯模式切換到命令模式使用“esc”鍵,從命令模式切換到編輯模式使用“A”、“a”、“O”、“o”、“I”、“i”鍵。
當你安裝好一個編輯器後,你一定會想在其中輸入焦點什麼東西,然後看看這個編輯器是什麼樣子。但vim不是這樣的,請按照下面的命令操作:

啟 動Vim後,vim在 Normal 模式下。讓我們進入 Insert 模式,請按下鍵 i 。(陳皓註:你會看到vim左下角有一個–insert–字樣,表示,你可以以插入的方式輸入了)此時,你可以輸入文本了,就像你用“記事本”一樣。如果你想返回 Normal 模式,請按 ESC 鍵。

現在,你知道如何在 Insert 和 Normal 模式下切換了。下面是一些命令,可以讓你在 Normal 模式下倖存下來:

    i → Insert 模式,按 ESC 回到 Normal 模式.    x → 刪當前游標所在的一個字元。    :wq → 存檔 + 退出 (:w 存檔, :q 退出)   (:w 後可以跟檔案名稱)    dd → 刪除當前行,並把刪除的行存到剪貼簿裡    p → 粘貼剪貼簿推薦:    hjkl (強例推薦使用其移動游標,但不必需) →你也可以使用游標鍵 (←↓↑→). 注: j 就像下箭頭。    :help <command> → 顯示相關命令的協助。你也可以就輸入 :help 而不跟命令。(退出協助需要輸入:q)

vim 的模式圖

vim的內建命令
Ctrl+u:向檔案首翻半屏;
Ctrl+d:向檔案尾翻半屏;
Ctrl+f:向檔案尾翻一屏;
Ctrl+b:向檔案首翻一屏;
Esc:從編輯模式切換到命令模式;
ZZ:命令模式下儲存當前檔案所做的修改後退出vi;
:行號:游標跳轉到指定行的行首;
:$:游標跳轉到最後一行的行首;
x或X:刪除一個字元,x刪除游標後的,而X刪除游標前的;
D:刪除從當前游標到游標所在行尾的全部字元;
dd:刪除游標行正行內容;
ndd:刪除當前行及其後n-1行;
nyy:將當前行及其下n行的內容儲存到寄存器?中,其中?為一個字母,n為一個數字;
p:粘貼文本操作,用於將緩衝區的內容粘貼到當前游標所在位置的下方;
P:粘貼文本操作,用於將緩衝區的內容粘貼到當前游標所在位置的上方;
/字串:文本尋找操作,用於從當前游標所在位置開始向檔案尾部尋找指定字串的內容,尋找的字串會被加亮顯示;
?name:文本尋找操作,用於從當前游標所在位置開始向檔案頭部尋找指定字串的內容,尋找的字串會被加亮顯示;
a,bs/F/T:替換文本操作,用於在第a行到第b行之間,將F字串換成T字串。其中,“s/”表示進行替換操作;
a:在當前字元後添加文本;
A:在行末添加文本;
i:在當前字元前插入文本;
I:在行首插入文本;
o:在當前行後面插入一空行;
O:在當前行前面插入一空行;
:wq:在命令模式下,執行存檔退出操作;
:w:在命令模式下,執行存檔操作;
:w!:在命令模式下,執行強制存檔操作;
:q:在命令模式下,執行退出vi操作;
:q!:在命令模式下,執行強制退出vi操作;
:e檔案名稱:在命令模式下,開啟並編輯指定名稱的檔案;
:n:在命令模式下,如果同時開啟多個檔案,則繼續編輯下一個檔案;
:f:在命令模式下,用於顯示當前的檔案名稱、游標所在行的行號以及顯示比例;
:set number:在命令模式下,用於在最左端顯示行號;
:set nonumber:在命令模式下,用於在最左端不顯示行號;
我們也可以在設定檔中設定行號永久生效
全域:/etc/vimrc
個人:~/.vimrc

vim 的一些擴充命令
. → (小數點) 可以重複上一次的命令
N<command> → 重複某個命令N次

下面是一個樣本,找開一個檔案你可以試試下面的命令:

    2dd → 刪除2行    3p → 粘貼文本3次    100idesu [ESC] → 會寫下 “desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu “    . → 重複上一個命令—— 100 “desu “.    3. → 重複 3 次 “desu” (注意:不是 300,你看,VIM多聰明啊).

你要讓你的游標移動更有效率,你一定要瞭解下面的這些命令,千萬別跳過。

NG → 到第 N 行 (注意命令中的G是大寫的,另我一般使用 : N 到第N行,如 :137 到第137行)gg → 到第一行。(相當於1G,或 :1)G → 到最後一行。按單詞移動:        w → 到下一個單詞的開頭。        e → 到下一個單詞的結尾。    > 如果你認為單詞是由預設,那麼就用小寫e和w。預設上來說,一個單詞由字母,數字和底線組成(程式變數)    > 如果你認為單詞是由blank字元分隔字元,那麼你需要使用大寫的E和W。(程式語句)    % : 匹配括弧移動,包括 (, {, [. (你需要把游標先移到括弧上)    * 和 #:匹配游標當前所在的單詞,移動游標到下一個(或上一個)匹配單詞(*是下一個,#是上一個)

0y$ 命令意味著:

0 → 先到行頭y → 從這裡開始拷貝$ → 拷貝到本行最後一個字元

你可可以輸入 ye,從當前位置拷貝到本單詞的最後一個字元。

你也可以輸入 y2/foo 來拷貝2個 “foo” 之間的字串。

還有很多時間並不一定你就一定要按y才會拷貝,下面的命令也會被拷貝:

d (刪除 )v (可視化的選擇)gU (變大寫)gu (變小寫)等等

(可視化選擇是一個很有意思的命令,你可以先按v,然後移動游標,你就會看到文本被選擇,然後,你可能d,也可y,也可以變大寫等)
掌握這些命令,你就可以很舒服的使用vim了。
下面我給大家講些vim的進階用法
在當前行上移動游標: 0 ^ $ f F t T , ;

    0 → 到行頭    ^ → 到本行的第一個非blank字元    $ → 到行尾    g_ → 到本行最後一個不是blank字元的位置。    fa → 到下一個為a的字元處,你也可以fs到下一個為s的字元。    t, → 到逗號前的第一個字元。逗號可以變成其它字元。    3fa → 在當前行尋找第三個出現的a。    F 和 T → 和 f 和 t 一樣,只不過是相反方向。

一般模式下的尋找與替換
/word:向游標之後尋找一個字串為word的字串,當找到第一個word後,按“n”繼續搜後一個
?word:向游標之前尋找一個字串名為word的字串,當找到第一個word後,按“n”繼續搜前一個
:n1,n2s/word1/word2/g:在n1和n2行間尋找word1這個字元並替換為word2,你也可以把“/”換成“#”
:1,$s/word1/word2/g:從第一行到最末行,尋找word1並替換成word2
:1,$s/word1/word2/gc:加上c的作用是,在替換前需要使用者確認

vim大量新增注釋
1、ctrl+v使用方向鍵上下選擇範圍;

2、shift+i進入編輯模式,添加“#”。隨後按esc退出(也可理解為運行大量新增);此時批註已加好

大量刪除添加的注釋行.

ctrl+v使用方向鍵上下選擇去除批註的範圍,按“x”;

1.括弧成對匹配
匹配:set showmatch,簡寫為set sm
取消:set nosm
2.自動縮排
啟用:set ai
禁用:set noai
3.高亮搜尋
啟用:set hlsearch
禁用:set nohlsearch
4.文法高亮
啟用:syntax on
禁用:syntax off
5.忽略字元的大小寫
啟用:set ic
禁用:set noic
6.檔案格式
啟用Windows格式:set fileformat=dos
啟用Unix格式:set fileformat=unix
7.設定文本寬度
:set textwidth=65(vim only)
:set wrapmargin=15
這些都是臨時生效 ,要想永久生效都可以寫到設定檔中
全域:/etc/vimrc
個人:~/.vimrc

上面就是一些Vim的常用命令,我建議大家對這些命令多多練習,有時候學習vim就像是在死背一些東西,多練多用就能熟練掌握。

vim文字編輯器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.