viim編輯器

? ?文本:純文本,ASCII test;

文本編輯種類:

? ? 行編輯器:sed

? ? 全屏編輯器:nano,vi

其他編輯器:

? ? ? gedit 一個簡單的圖形編輯器

? ? ? gvim 一個vim編輯器的圖形版本 ? ? ?

一.打開文件幾種方法

命令格式:

? ? ? vim [options] [files]

常用選項:

? ? ? ? ?+#:打開文件后,直接讓光標處于第#行的行首

? ? ? ? ?+/PATTERN:打開文件后,直接讓光標處于第一個被PATTERN匹配到的行

? ? ? ? ?PATTERB匹配到的行的行首

? ? ? ? ?vim+file 直接打開file,光標在最后一行

? ? ? ? ?vim -b file 二進制方式打開文件

? ? ? ? ?vim -d file1 file2 ... 比較多個文件

? ? ? ? ?vim -m file 以只讀的方式打開文件

? ? ? ? ?ex file 或 vim -e ?直接進入命令行模式


二.2種模式關閉文件方法:

? ? ?擴展命令模式:

? ? ? ? ?:q 退出

? ? ? ? ?:q! 強制退出,不保存此前的編輯操作

? ? ? ? ?:wq 保存并退出

? ? ? ? ?:x 保存并退出

? ? ?一般模式:

? ? ? ? ?ZZ:保存退出

? ? ? ? ?ZQ:不保存退出


三.模式詳解

? ? 三種主要模式:

? ? ? ? ? ?一般模式:移動光標,剪切/粘貼文本

? ? ? ? ? ?編輯模式:修改文本

? ? ? ? ? ?命令模式:保存退出等


一.一般模式

一般模式可用按鈕說明,光標移動,復制粘貼,查找替換?

? ? (1)光標移動

字符間跳轉:

h:左 l:右 j:下 k:上 (和左右上下箭頭功能一樣)

? 支持數字跳轉: #{h|j|k|l} 跳轉由#號指定的個數的字符

單詞間移動:可以使用 w,e,b鍵來進行移動

w:下一個單詞詞首

e:當前單詞或下一個單詞詞首

b:當前單詞或前一個單詞詞首

#{w|e|b}

屏幕上下移動

ctrl+f 屏幕向下移動一頁等于Pagedown按鍵(常用)

ctrl+b 屏幕向下移動一頁等于Pageup按鍵(常用)

ctrl+d 屏幕向下移動半頁?

ctrl+b 屏幕向上移動半頁

? ? ? ? ? ? H 光標移動到這個屏幕的最上方那一行的第一個字符

M 光標移動到這個屏幕的中央那一行的第一個字符

L 光標移動到這個屏幕的最下方那一行的第一個字符

G 移動到這個文件的最后一行(常用)

nG 移動到這個文件的第n行

gg 移動到這個文件的第一行 相當于1G

n[enter] n為數字,光標向下移動n行

行間移動

0 數字"0" 移動到這一行最前面的字符(常用)

$ 移動到這一行的最后面字符(常用)

? ? (2)查找與替換

? /word 向下尋找一個名為word的單詞

?word 向上尋找一個名為word 的字符串

n ? ? 重復前一個查找的操作

N 與n正好相反 "反向"進行前一個查找操作

? ? (3)刪除,復制,粘貼

x,X ?x向后刪除一個字符 X向前刪除一個字符

nx ? n為數字,向后刪除n個字符

dd ? 刪除光標所在的那一整行(常用)

ndd ?n為數字 刪除光標所在行的向下n行

d1G ?刪除光標所在到第一行的所有數據

dG ? 刪除光標所在到最后一行的所有數據

d$ ? 刪除光標所在到這一行最后一個字符的所有數據

d0 ? 刪除光標所在到這一行第一個字符間的所有數據

yy 復制光標所在的 那一行(常用)

nyy ? n為數字,復制光標所在行到向下的n行

y1G 復制光標所在行到第一行的所有數據

yG ? ?復制光標所在行到最后一行的數據

y0 復制光標所在行的字符到行首的所有字符

y$ 復制光標所在行的字符到行尾的所有字符

pP p將一復制的數據在光標下一行粘貼,P則為粘貼到上一行

? ? ? ????J ? ? 將光標所在行與下一行的數據結合成同一行

c ? ? 重復刪除多個數據,例如向下刪除向下刪除10行

cc ? ?刪除當前行并輸入新內容

u 復原前一個操作(常用)

ctrl+r 重做上一個操作(常用)

二. 編輯模式

一般模式切換到編輯模式可用的按鈕說明

i,I 進入插入模式 i為從目前光標所在處插入,I為在目前所在行的第一個非空格符處開始插入(常用)

a,A 進入插入模式 a為從目前光標所在的下一個字符處開始插入,A為從光標所在行的最后一個字符插入

o,O 進入插入模式 o為字母 o為在目前光標所在的下一行處插入新的一行 O為在目前光標所在處的上一行插入新的一行(常用)

r,R 進入插入模式 r只會替換光標所在的那一個字符一次,R會一直替換光標所在的文字,直到按下esc鍵為止(常用)

三. 命令行模式

:w 將編輯的數據寫入硬盤文件中(常用)

:w! 若文件為只讀時,強制寫入該文件

:q ?離開vi(常用)

:q! 若曾修改文件又不想保存,用!強制離開

:wq 保存后離開

ZZ 若文件沒有改動,不保存離開;若文件有改動,保存離開

:w[filename] 將編輯的文件保存到另一個文件

:r[filename] 在編輯的數據中,讀入另一個文件的數據,即將"filename"這個文件內容加到光標所在行的后面

:n1,n2 w[filename] 將n1到n2的內容保存成filename這個文件

:!command 暫時離開vi到命令行模式下執行command的顯示結果

命令行模式:對當前vim進程有效

? (1)行號?

:set nu 顯示行號,設置之后,會在每一行的 顯示該行的行號

:set nonu 與set nu 相反,為取消行號

(2)括號成對匹配

:set showmatch ? 匹配

:set nosm ?取消

(3)自動縮進

:set ai ? ? ??啟用

:set noai ?禁用

(4)高亮搜索

:set hlsearch

:set nohlsearch

(5) 語法高亮

:syntax on ? ? 啟用

:syntax off ? ?禁用

(6)忽略字符的大小寫

? ? ?:set ic ? ? ? 啟用

:set noic ? ? 不忽略

? (7)文件格式

:fileformat+unix 啟用

:fileformat=dos

(8)設置文本寬度

? ? ? :set textwidth=65(vim only)

:set wrapmargin=15 ?