一、簡介
vi: visual inte***ce
,文字編輯器
文字:ascii, unicod
行編輯器
: sed
nano, vi vim - vi improved
gedit
乙個簡單的圖形編輯器
**im
乙個vim
編輯器的圖形版本
二、使用技巧
vim - vi improved, a programmers text editor
vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]1)
+#:
開啟檔案後,直接讓游標處於第
#行的行首
如:vim +20 file 2)
+/pattern
:開啟檔案後,直接讓游標處於第乙個被
pattren
匹配的到的行的字元所在位置3)
vim –d file1 file2…
比較多個檔案
example:vim -d test.sh test.txt
類似命令有
:vimdiff test.sh test.txt
vim的三大模式:
1)命令模式
2)插入模式
3)末行模式
esc鍵可以切換模式,
esc鍵
退出當前模式,
esc鍵
esc鍵
總是返回到命令模式
模式轉換:
命令模式
-->
插入模式
i: insert,
在游標所在處輸入
i:在當前游標所在行的行首輸入
在游標所在處後面輸入
a:在當前游標所在行的行尾輸入
o: 在當前游標所在行的下方開啟乙個新行
o:在當前游標所在行的上方開啟乙個新行
關閉檔案操作:
:q 退出
:q!
強制退出
:wq
儲存退出
命令模式行間跳**
字元間跳**
h: 左
l: 右
j: 下
k: 上
#command
:跳轉由
#指定的個數的字元;單詞間跳**
w:下乙個單詞的詞首eb
:當前或前乙個單詞的詞首
#command:由#
指定一次跳轉的單詞數
v當前頁跳**
h:頁首
m:頁中間行
l:頁底
行首行尾跳**
^: 跳轉至行首的第乙個非空白字元;
0: 跳轉至行首
$: 跳轉至行尾
行間移動:
#g、擴充套件模式:
# :跳轉至由
#指定行
g:最後一行
1g, gg:
第一行命令模式操作:
x:刪除游標處的字元,
#x:
刪除游標處起始的
#個字元
xp:交換游標所在處的字元位置,調個
~:轉換大小寫
r:替換游標所在處的字元
刪除命令:
d: 刪除命令,可結合游標跳轉字元,實現範圍刪除;
d$:
刪除到行尾
d^:刪除到非空行首
d0:刪除到行首
dw: de: db: #command dd:
刪除游標所在的行
#dd:多行刪除
d:從當前游標位置一直刪除到行尾,留空行,等同於
d$,dd 加上.
即可,實現刪除。
複製命令:
yy:複製所在地的行,
y$:複製游標所在的位置至行尾,
y^:複製游標坐在的位置至行首
貼上命令
(p, paste):p
:緩衝區存的如果為整行,則貼上當前游標所在行的下
方;否則,則貼上至當前游標所在處的後面
p:緩衝區存的如果為整行,則貼上當前游標所在行的上
方;否則,則貼上至當前游標所在處的前面
改變命令
(c, change)
c:修改後切換成插入模式
命令模式
-->
插入模式
c$ c^ c0 cb ce cw #command cc
:刪除當前行並輸入新內容
#cc: c
:刪除當前游標到行尾,並切換成插入模式
command: y
複製、d
刪除、gu
變大寫、
gu 變小寫
例如0y$
命令意味著:
0 →
先到行頭
y →
從這裡開始拷貝
$ →
拷貝到本行最後乙個字元
ye 從當前位置拷貝到本單詞的最後乙個字元
查詢:查詢
/pattern
:從當前游標所在處向檔案尾部查詢
?pattern
:從當前游標所在處向檔案首部查詢
n:與命令同方向
n:與命令反方向
擴充套件模式匹配:查詢並替換
s: 在擴充套件模式下完成查詢替換操作
格式:s/
要查詢的內容
/替換為的內容
/修飾符
要查詢的內容:可使用模式
替換為的內容:不能使用模式,但可以使用分組
\1, \2, ...
等後向引用符號;還可以使用
「&」引用前面查詢時查詢到的整個內容
修飾符:
i:忽略大小寫
g:全域性替換
gc:全域性替換,並在替換前每次詢問是否替換
查詢替換中的分隔符
/可替換為其它字元,例如
s@/etc@/var@g s#/boot#/#i s/^root/rabbit/g
實戰小練習:
1、複製
/etc/profile
至/tmp/
目錄,用查詢替換命令刪除
/tmp/profile
檔案中的行首的空白字元
[root@centos7 tmp]# sed -r '/^[[:space:]]+/d' profile #
命令列:%s/^[[:space:]]\+//g #
末行模式
2、複製
/etc/rc.d/init.d/functions
檔案至/tmp
目錄,用查詢替換命令為
/tmp/functions
的每行開頭為空白字元的行的行首新增乙個#號
:%s/^[[:space:]]/#/g
[root@centos7 tmp]# sed -r 's/(^[[:space:]]+)//g' functions
撤銷修改: u
撤銷最近的更改
#u撤銷之前多次更改
u 撤消游標落在這行後所有此行的更改
按ctrl - r
重做最後的「撤消
」更改. 重複前乙個操作
n.重複前乙個操作n次
視覺化模式:
允許選擇的文字快:
v:選擇字元,
v:面向行
ctrl + v
面向塊多文字儲存、退出模式:
:wall
儲存所有
:qall
退出所有
:wqall
vim工作特性:
配置檔案:永久有效
全域性:/etc/vimrc
個人:~/.vimrc
1)顯示行號
set nu
2)取消顯示
set nonu
3)括號成對匹配
匹配:set showmatch,
簡寫為set sm
取消:set nosm
4)自動縮排
啟用:set ai
禁用:set noai
5)語法高亮
啟用:sytnax on
關閉:sytnax off
6)忽略字元的大小寫
啟用:set ic
不忽略:
set noic
配置文字格式: 1
)文字格式,如在
windows
裡面的檔案挪至
linux
則會有^m
啟動:fileformat=unix
關閉:fileformat=docs
vim幫助:
vi/vim
內建幫助
:help :help topic use :q to exit help vim
練習場所:
vimtutor
vim 使用技巧
本文一般情況下用 1.選定文字 拷貝貼上 v為可視模式,可以選定多行。選定多行之後,可以用yy或者dd等等進行拷貝和剪下。p 是貼上 y 和d 可以直接拷貝或者剪下選定的內容 yw是拷貝乙個單詞 如果要複製整行的最簡單辦法就是v,y,p 就行了 v是可以選定一行任意個字元的,v是行選定的,一次一整行...
vim使用技巧
v為可視模式,可以選定多行。選定多行之後,可以用yy或者dd等等進行拷貝和剪下。p 是貼上 y 和d 可以直接拷貝或者剪下選定的內容 yw是拷貝乙個單詞 如果要複製整行的最簡單辦法就是v,y,p 就行了 v是可以選定一行任意個字元的,v是行選定的,一次一整行,然後通過向下或向上移動游標而選定多行。對...
VIM 使用技巧
ctrl o 連摁兩次,直接開啟上次關閉時編輯的檔案 ctrl o 摁一次,是跳回上乙個起跳處 很有用!ctrl r 撤銷撤銷。u是撤銷,ctrl r是撤銷那個撤銷 跳回到上乙個編輯點 b 往後移動乙個詞,游標在詞首 查詢當前游標處的詞,向前,是像後。不過在我的7.1的版本上一點 搜尋到的關鍵字就已...