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 ?
轉載于:https://blog.51cto.com/1003995416/1837531