home > tools > CodeEditor > vim >

Vim入門基礎及使用的一些心得體會和感概

author:[email protected]    hits:

vim,7-8年前感概接觸linux就開始,就知道要學了……但是,也沒有覺得要多么重要……記了點命令行,下載也忘記了……如今,更換到mac系統,

Vim編輯文件

$vim [filename]

其中filename是要編輯器的文件的路徑名。如果文件不存在,它將為你建立一個新文件。Vim編輯程序有三種操作模式,分別稱為 編輯模式、插入模式 和 命令模式,當運行Vim時,首先進入編輯模式。

退出編輯模式: ese  或者command+[

進入編輯模式  command+]

vim編輯模式

一般模式下不可以修改某個字符,若要修改字符,只能進入編輯模式。從一般模式進編輯模式,只需按i、I、a、A、o、O、r和R中某個鍵即可。當進入編輯模式時,在屏幕尾部會顯示INSERT或REPLACE字樣

  • i:在當前字符前插入。

  • I:在光標所在行的行首插入。

  • a:在當前字符后插入。

  • A:在光標所在行的行尾插入。

  • o:在當前行的下一行插入新的一行。

  • O:在當前行的上一行插入新的 一行。

vim命令模式

查找跳轉,

第一:顯示行號

  • :set number

然后,跳轉到行

  • :345                    將光標移到第 345 行

  • :345w file            將第 345 行寫入 file 文件

  • :3,5w file             將第 3 行至第 5 行寫入 file 文件

  • :1,.w file              將第 1 行至當前行寫入 file 文件

  • :.,$w file              將當前行至最后一行寫入 file 文件

  • :.,.+5w file           從當前行開始將 6 行內容寫入 file 文件

  • :1,$w file             將所有內容寫入 file 文件,相當于 :w file 命令

Vim正則表達式

第二:記住萬能的 正則表達式 ……

  • :/str/                       正向搜索,將光標移到下一個包含字符串 str 的行

  • :?str?                     反向搜索,將光標移到上一個包含字符串 str 的行

  • :/str/w file               正向搜索,并將第一個包含字符串 str 的行寫入 file 文件

  • :/str1/,/str2/w file    正向搜索,并將包含字符串 str1 的行至包含字符串 str2 的行寫

正文替換

利用 :s 命令可以實現字符串的替換。具體的用法包括:

  • :%s/str1/str2/          用字符串 str2 替換行中首次出現的字符串 str1

  • :s/str1/str2/g           用字符串 str2 替換行中所有出現的字符串 str1

  • :.,$ s/str1/str2/g      用字符串 str2 替換正文當前行到末尾所有出現的字符串 str1

  • :1,$ s/str1/str2/g     用字符串 str2 替換正文中所有出現的字符串 str1

  • :g/str1/s//str2/g       功能同上

  • :m,ns/str1/str2/g     將從m行到n行的str1替換成str2

刪除正文

在命令模式下,同樣可以刪除正文中的內容。例如:

  • :d                              刪除光標所在行

  • :3d                             刪除 3 行

  • :.,$d                           刪除當前行至正文的末尾

  • :/str1/,/str2/d                 刪除從字符串 str1 到 str2 的所有行

  • :g/^\(.*\)$\n\1$/d              刪除連續相同的行,保留最后一行

  • :g/\%(^\1$\n\)\@<=\(.*\)$/d     刪除連續相同的行,保留最開始一行

  • :g/^\s*$\n\s*$/d                刪除連續多個空行,只保留一行空行

  • :5,20s/^#//g                    刪除5到20行開頭的 # 注釋

Vim的保存文件和退出命令

命令

簡單說明

:w

保存編輯后的文件內容,但不退出vim編輯器。這個命令的作用是把內存緩沖區中的數據寫到啟動vim時指定的文件中。

:w!

強制寫文件,即強制覆蓋原有文件。如果原有文件的訪問權限不允許寫入文件,例如,原有的文件為只讀文件,則可使用這個命令強制寫入。但是,這種命令用法僅當用戶是文件的屬主時才適用,而超級用戶則不受此限制。

:wq

保存文件內容后退出vim編輯器。這個命令的作用是把內存緩沖區中的數據寫到啟動vim時指定的文件中,然后退出vim編輯器。另外一種替代的方法是用ZZ命令。

:wq!

強制保存文件內容后退出vim編輯器。這個命令的作用是把內存緩沖區中的數據強制寫到啟動vim時指定的文件中,然后退出vim編輯器。

ZZ

使用ZZ命令時,如果文件已經做過編輯處理,則把內存緩沖區中的數據寫到啟動vim時指定的文件中,然后退出vim編輯器。否則只是退出vim而已。注意,ZZ命令前面無需加冒號“:”,也無需按Enter鍵。

:q

在未做任何編輯處理而準備退出vim時,可以使用此命令。如果已做過編輯處理,則vim不允許用戶使用“:q”命令退出,同時還會輸出下列警告信息:

No write since last change (:quit!overrides)

:q!

強制退出vim編輯器,放棄編輯處理的結果。如果確實不需要保存修改后的文件內容,可輸入“:q!”命令,強行退出vim編輯器。

:w filename

把編輯處理后的結果寫到指定的文件中保存

:w! filename

把編輯處理后的結果強制保存到指定的文件中,如果文件已經存在,則覆蓋現有的文件。

:wq! filename

把編輯處理后的結果強制保存到指定的文件中,如果文件已經存在,則覆蓋現有文件,并退出vim編輯器。

 

基本,記住這些就夠用了……


后記:

vim,7-8年前感概接觸linux就開始,就知道要學了……但是,也沒有覺得要多么重要……記了點命令行,下載也忘記了……

如今,更換到mac系統,然后,要配置一些linux,覺得還是,得,溫習下 ,vim

vim多窗口界面

像搞得這么復雜,然后裝一代對插件……

感覺完全是裝B……

有那么多工具不用……比如intellij……

非得用這個來工作,不是B個很高,而是SB……(起碼暫時這么認為……

記住點點東西,改改配置就好,編輯的話,還是……


轉載本站文章《Vim入門基礎及使用的一些心得體會和感概》, 請注明出處:http://www.qsexmk.tw/html/tools/CodeEditor/vim/2016_0617_7840.html

上一篇:First page
下一篇:Last page