Linux入門(六)ubuntu下vim編輯器安裝與使用


原文鏈接:http://jingyan.baidu.com/article/219f4bf7d03187de452d3862.html

一、安裝 vim 控制台版本的vim隨ubuntu一起發行,因此沒必要安裝. 然而,如果您更喜歡GUI界面下的vim的話,請安裝vim-gtk軟件包,有以下兩種方法:

1、在Ubuntu Software Center中搜索vim-gtk,並安裝 Vi IMproved - enhanced vi editor - with GTK2 GUI

2、在終端中輸入       sudo apt-get install vim-gtk

二、快速指南

您可以在終端中輸入vim來啟動控制台模式下的vim,或輸入gvim 來啟動圖形模式下的vim. 

 

1、模式 

插入模式輸入文本 編輯模式執行命令,也稱為正常模式

命令模式,執行 : 命令 插入模式並不是缺省的模式,您必須按下 i 來進入插入模式,在屏幕上輸入一些文字。

命令模式用於執行冒號命令,比如保存,查找/替換以及配置vim等。

欲保存文本,您只需要在正常模式下輸入:進入命令模式並輸入:w filename<Enter>.退出vim請執行冒號命令:q.

總結如下:

vim (啟動vim)

i (進入插入模式)<輸入文本><Esc> (回到編輯模式):w filename (保存文件為'filename'):q (退出vim)vim filename (打開您剛才在vim中保存的文件)請記住,最好的學習vim的方式是使用她.您可以通過內置的vim教程來學習vim的基本使用,只需要在終端中輸入vimtutor (有的系統中可能是vim-tutor).

 

2、用vim編輯docbook文檔 為了將文章提交到Ubuntu文檔組織,您需要使用docbook格式。您可能會對VIM 文件類型插件xmledit感興趣。

添加如下內容至 ~/.vimrc

map! ,e <emphasis> map! ,p <para>map <F3> v/>^Mx如果光標位於打開的XML標記的頂部,您可以按下F3將標記的內容剪切到緩沖區。移動光標至本節的底部並按下 'p' (=粘貼)剛復制的內容就會出現在當前字符后面。

這樣對於給已經些好的文檔添加標記是非常有用的。其典型用途是在需要時給從網頁上復制/粘貼的文檔添加格式。

 

3、在線資源 您可以在如下頁面中找到關於vim的有用的信息

Vim主頁可用於查找相關腳本的插件。The tips section has a RSS feed which gives many useful tips about vim。

Vim有用的技巧提供了有效使用vim的相關技巧。

Vim的作者, Bram Moolenaar 寫了一篇文章Seven habits of effective text editing

Vim文檔是關於vim的文檔的集中地。您可以在那里下載Vim使用手冊以及Vim Book。

 

4、vi命令

進入vi的命令

vi filename :打開或新建文件,並將光標置於第一行首 

vi +n filename :打開文件,並將光標置於第n行首 

vi + filename :打開文件,並將光標置於最后一行首 

vi +/pattern filename:打開文件,並將光標置於第一個與pattern匹配的串處 

vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename 

vi filename....filename :打開多個文件,依次進行編輯 

移動光標類命令

h :光標左移一個字符 

l :光標右移一個字符 

space:光標右移一個字符 

Backspace:光標左移一個字符 

k或Ctrl+p:光標上移一行 

j或Ctrl+n :光標下移一行 

Enter :光標下移一行 

w或W :光標右移一個字至字首 

b或B :光標左移一個字至字首 

e或E :光標右移一個字至字尾 

) :光標移至句尾 

( :光標移至句首 

}:光標移至段落開頭 

{:光標移至段落結尾 

nG:光標移至第n行首 

n+:光標下移n行 

n-:光標上移n行 

n$:光標移至第n行尾 

H :光標移至屏幕頂行 

M :光標移至屏幕中間行 

L :光標移至屏幕最后行 

0:(注意是數字零)光標移至當前行首 

$:光標移至當前行尾 

屏幕翻滾類命令

Ctrl+u:向文件首翻半屏 

Ctrl+d:向文件尾翻半屏 

Ctrl+f:向文件尾翻一屏 

Ctrl+b;向文件首翻一屏 

nz:將第n行滾至屏幕頂部,不指定n時將當前行滾至屏幕頂部。 

插入文本類命令

i :在光標前 

I :在當前行首 

a:光標后 

A:在當前行尾 

o:在當前行之下新開一行 

O:在當前行之上新開一行 

r:替換當前字符 

R:替換當前字符及其后的字符,直至按ESC鍵 

s:從當前光標位置處開始,以輸入的文本替代指定數目的字符 

S:刪除指定數目的行,並以所輸入文本代替之 

ncw或nCW:修改指定數目的字 

nCC:修改指定數目的行 

刪除命令

ndw或ndW:刪除光標處開始及其后的n-1個字 

do:刪至行首 

d$:刪至行尾 

ndd:刪除當前行及其后n-1行 

x或X:刪除一個字符,x刪除光標后的,而X刪除光標前的 

Ctrl+u:刪除輸入方式下所輸入的文本 

搜索及替換命令

/pattern:從光標開始處向文件尾搜索pattern 

?pattern:從光標開始處向文件首搜索pattern 

n:在同一方向重復上一次搜索命令 

N:在反方向上重復上一次搜索命令 

:s/p1/p2/g:將當前行中所有p1均用p2替代 

:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代 

:g/p1/s//p2/g:將文件中所有p1均用p2替換 

選項設置

all:列出所有選項設置情況 

term:設置終端類型 

ignorance:在搜索中忽略大小寫 

list:顯示制表位(Ctrl+I)和行尾標志($) 

number:顯示行號 

report:顯示由面向行的命令修改過的數目 

terse:顯示簡短的警告信息 

warn:在轉到別的文件時若沒保存當前文件則顯示NO write信息 

nomagic:允許在搜索模式中,使用前面不帶“/”的特殊字符 

nowrapscan:禁止vi在搜索到達文件兩端時,又從另一端開始 

mesg:允許vi顯示其他用戶用write寫到自己終端上的信息 

最后行方式命令

:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下 

:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下 

:n1,n2 d :將n1行到n2行之間的內容刪除 

:w :保存當前文件 

:e filename:打開文件filename進行編輯 

:x:保存當前文件並退出 

:q:退出vi 

:q!:不保存文件並退出vi 

:!command:執行shell命令command 

:n1,n2 w!command:將文件中n1行至n2行的內容作為command的輸入並執行之,若不指定n1,n2,則表示將整個文件內容作為command的輸入

 :r!command:將命令command的輸出結果放到當前行 

寄存器操作

"?nyy:將當前行及其下n行的內容保存到寄存器?中,其中?為一個字母,n為一個數字 

"?nyw:將當前行及其下n個字保存到寄存器?中,其中?為一個字母,n為一個數字 

"?nyl:將當前行及其下n個字符保存到寄存器?中,其中?為一個字母,n為一個數字 

"?p:取出寄存器?中的內容並將其放到光標位置處。這里?可以是一個字母,也可以是一個數字 

ndd:將當前行及其下共n行文本刪除,並將所刪內容放到1號刪除寄存器中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM