linux之Vim使用
Vim同Emac是Linux世界下最為流行的兩個文本編輯工具,集中精力學習一個就好了,暫定以Vim為學習對象。在本文中,一些基本的操作將不再介紹,只會介紹最為常用的命令以及設置,操作系統為Ubuntu 12.04.
??????? Vim的默認配置,是沒有顯示行號、語法高亮、智能縮進等功能,為了更好的開展工作,需要手動設置一個配置文件.vimrc,一般將其放在用戶根目錄下,作為用戶自定義的配置文件使用。/etc/vim/vimrc為全局的配置文件,修改這個文件,將會改變所有用戶的vim配置。
既然是編輯,那中文輸入法也是少不了的,點擊鏈接來安裝中文輸入法。
相關的配置,可以參考 強大的vim配置文件,讓編程更隨意。
?
1. 常見的Vim命令
????????? 1. 基本操作
上下左右的移動: 上(K),下(J)
/pat : 向前搜索pat
?????????? ?pat : 向后搜索pat
把光標移動到你要搜索的詞(變量名、函數名等),比如,test,然后按*(向下完整匹配光標下的單詞),Vim將自動產生一個對test的完整搜索單詞。#為向上完整匹配光標下的單詞。
x :用于刪除單個字符
dd:刪除一行
刪除惹人煩惱的^M:在不同環境中的文本編輯文件,對于換行符的解釋不一樣。Dos系統下,行結束符為\r\n ,Linux,行結束符為\n,Mac上為,行結束符\r.因為這個區別,在一個系統中編輯另一個系統中的文件時,就會出現煩人的^M。
u: 撤銷上一步的操作
:(n,m)s/ a / b ( /g ) 用b來替換a,在n~m行之間。$s表示最后一行
0:移到一行的開頭
$:移到一行的結尾
gf快捷鍵來進入任意一個被include <header.h>的頭文件,使用ctrl+O回到使用gf之前的地方。
2. 使用Vim進行調試和編譯
??? 利用Vim的quickfix模式,可以在Vim中啟動編譯,如果編譯出錯的話,Vim會根據編譯器輸出的錯誤信息,自動跳到第一個出錯的地方,修改完畢后,使用快捷鍵,可以跳到下一個錯誤的地方,再進行修改。
?? Quickfix模式的原理是,從編譯器的編譯輸出信息中獲得有關錯誤的相關信息,將其保存在一個位置列表中,然后提供一系列命令,實現在這些位置列表中跳轉。
為了使用quickfix,你首先定義編譯你程序的指令makeprg,
:set makeprg=gcc\ -Wall\ -ohello\ hello.c然后執行:make就可以編譯了。
? 在使用:make時,vim會自動調用makeprg選項定義的命令進行編譯,并把編譯信息重定向到一個臨時文件,當編譯出現錯誤時,vim會從臨時文件中讀出錯誤信息,據此形成quickfix列表,并跳轉到第一個錯誤出現的地方。
在quickfix模式里經常用到的命令有:
:cc 顯示詳細錯誤信息 ( :help :cc ) :cp 跳到上一個錯誤 ( :help :cp ) :cn 跳到下一個錯誤 ( :help :cn ) :cl 列出所有錯誤 ( :help :cl ) :cw 如果有錯誤列表,則打開quickfix窗口 ( :help :cw ) :col 到前一個舊的錯誤列表 ( :help :col ) :cnew 到后一個較新的錯誤列表 ( :help :cnew )詳細參考點此。
?
3. Vim常見問題解決
1. 問題描述:
在Vi里面,下意識的按了Ctrl+S來保存,結果界面卡死,無法輸入。
問題原因:
在Vi中,Ctrl+S用來暫停向終端發送數據的,既然是暫停發送數據,那么屏幕就自然接收不到其他數據了,這種情況下,可以使用Ctrl+q來恢復。
?
2. 問題描述:
當使用筆記本鍵盤時,用vi處于編輯模式,在按上下左右時,出現ABCD并且加換行。
問題原因:
vim是vi的升級版程序,關于鍵盤映射上面,老Vi對于小鍵盤的上下左右會解釋成ABCD,新版Vim為了兼容舊版Vi寫的腳本,添加了vim的兼容模式,但是,現在已經沒有必要使用vi兼容模式了。
解決方法:
在vi中設置:set nocp 恢復為不兼容舊版Vi的模式,或者往用戶目錄下的.vimrc中添加此命令set nocp就可以解決此類問題。
總結
以上是生活随笔為你收集整理的linux之Vim使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP中文件上传组件ASPUpload介
- 下一篇: linuxMint下安装ftp工具--f