編輯器種類
常用的文本編輯器有:
-
行編輯器,如sed,awk,cut等
-
全屏編輯器,如vi,vim(vi增強版),nano等
vim的模式
-
命令模式:使用vim filename打開文件后,進入的第一個模式。
-
直接使用鍵盤操作文本的編輯
-
插入模式:INSERT模式
-
進入:i,從當前光標處開始
-
進入:I,從當前行行首開始
-
末行模式:vim內置命令接口。
-
以:開頭命令
-
替換模式:replace。會將光標所在的地方,替換為輸入的內容。
-
進入:在命令模式下,輸入R命令,進入替換模式。
-
輸入r命令,則只能替換一次
-
可視化模式:代替鼠標進行選定。搭配命令模式的一個命令作為結尾
-
v 字符為單位
-
V 行為單位
-
c+v 面向塊
-
visual模式下,可配合w,),}等使用
-
多窗口模式
-
鎖屏
-
ctrl+s,vim鎖屏
-
鎖屏后,屏幕中,vim顯示的內容,無論輸入什么,顯示的內容都不會變化。
-
鎖屏后的所有輸入,都會被記錄,并且在解鎖后,執行。同未鎖屏相同的效果
-
ctrl+q,解鎖
打開文件
-
-m 只讀模式打開文件,文件被編輯后不能夠保存,只能夠強制退出
-
其他的一個只讀模式——使用view替換vim打開文件,文件被編輯后,可以用:wq!來強制保存退出
-
-d file1 file2 對比兩個文件,不同的地方顯示高亮
-
vim +[num] 文件打開后,光標直接跳到第num行的行首,如果沒有指定num,則光標跳到文件的最后一行的行首
-
vim +/pat 打開文件后,光標跳到第一個匹配{pat}的行的行首
tips -
如果vim DIR,也同樣可以進入,同樣可以編輯,但是無法保存。
Linux同一個目錄下,不能有同名的文件夾或文件 -
顯示:標準屏幕顯示20行
末端模式命令
:wx 見標題:編輯完成后
:r /path 在光標所在行之后,新建行,并 讀入文件
:!cmd 在vim中執行bashshell的命令(并不會插入)
:r ! cmd 或者 :r!cmd 在當前行之后插入命令執行結果
定位,跳轉
單詞跳
-
w 下一個單詞詞首
-
#w 下面的#個單詞詞首
-
e 下一個單詞詞尾
-
#e 下#個單詞詞尾
-
b 前一個單詞的詞首
-
#b 前#個單詞詞首
字符跳
-
h 向左跳一個字符
-
[num]h 向左跳[num]個字符
-
j 向下跳一個字符
-
[num]j 向下跳[num]個字符
-
k 向上跳一個字符
-
[num]k 向上跳[num]個字符
tips:
Japan在Korea下面,J向下,K向上 -
l 向右跳一個字符
-
[num]l 向右跳[num]個字符
多行跳
-
H(HIgh) 當前頁第一行的行首
-
[num]H 當前頁第[num]行的行首
-
L(low) 當前最后一行的行首
-
[num] L 當前頁倒數第[num]行的行首
-
M(middle) 當前頁中間一行的行首
-
\^ 行首(不算空格)
-
0 絕對行首
-
$ 絕對行尾
-
G 文章最后一行行首
-
[num]G 第[num]行行首
-
:[num] 文章的第[num]行
-
文章第一行 1G,:1,gg
-
( 前一句(以.為分隔)
-
) 后一句
-
{ ·前一段
-
兩行之間只有回車,不算段落,必須之間有一個空行,才算是不同段落。
-
} 后一段
屏幕為單位
-
c+f 前進一屏
-
c+b 后退一屏
-
c+d 前進 半屏
-
c+u 后退半屏
命令模式快捷鍵
-
x
-
#x
-
d
-
#d
-
y復制字符
-
#y
-
yy 復制行
-
#yy
-
c替換
-
#c
-
C刪除到光標所在行尾,并切換到insert模式
-
#C
-
gu(變小寫),
-
gU(變大寫)的相關操作、
NOTES:
[num]gu/gU,操作num+1行,并且num默認為1,即gu/gU至少操作兩行
在組合模式中:0gU$將本行從行首到行尾都轉換為大寫 -
~大小寫轉換
這些命令通常都可以與地址定界符相結合使用,以d為例,如下:
d$
d^
dH
dL
dM
dw
de
db
d)
d}
d(
d{
dgg
dG
d1G
還可以在命令前后都添加地址定界符,語法為:
-
J 去掉行尾的回車符,將不同的行轉換為同一行
-
p 在光標之后粘貼
-
P在前面粘貼
-
u 撤銷
-
u 撤銷
-
U 撤銷光標落在這一行后,對此行所做的所有更改
-
c+r 取消剛才的撤銷,
-
. ()英語的句) 重做
-
[num]. 重做num次,默認為1
地址定界
-
:#
-
:#1,#2
-
:#1,+#2
-
:. 當前
-
:$ 最后一行
-
:$-1 倒數第二行
-
%或者‘:1,$’ 第一行到最后一行
-
:/pat1/,/pat2/d刪除第一個匹配pat1到第一次匹配pat2之間的行。
-
:#,/pat3/從第#行開始,到第一次匹配pat3,之間的行
vim的命名寄存器
vim一共有26個(a-z),1個無命名寄存器(默認寄存器)
-
“a表示后續的操作在a寄存器中操作
-
“ayy復制當前行,到a寄存器
-
3“ayy表示復制3行到a寄存器中
-
默認情況使用的是無命名寄存器
“ap粘貼a寄存器的內容到當前航
編輯完成后
-
:x= 相當于:wq,但是盡量別用x,因為x的使用,會產生不安全因素
-
ZZ 存盤退出
-
ZQ 不存盤退出
-
:w /path 存內容到path文件,vim打開的文件不會變。
多窗口模式
打開方法
- vim file1 file2 file3 - vim -o 打開橫向 - vim -O 打開多個豎向 - vim -p 打開多個tag
切換方法
-
命令模式:c+w+向下
-
命令模式:c+w+向上
-
:next
-
:prev
-
:last
-
:first
-
:wqall
-
c+w+v 左右
-
c+w+s 上下
關閉窗口
-
c+w+q取消相鄰窗口。
-
c+w+o取消全部其他窗口
模式轉換
-
a 追加模式,在當前光標所在字符之后插入(光標跳到當前字符之后的一個字符,并進入INSERT模式)
-
如果當前行包含一個字符(即使是空白字符也可以),在該字符之后插入
-
如果當前行為空白行(連空白字符都沒有,直接就是回車),直接插入
-
A 光標到當前行最后一個字符
-
i 光標位置不變,在當前光標之前插入
-
I 光標自動跳到行首
-
o 在當前行后,新建一行
-
O 在當前行前,插入一行
-
R 進入替換模式,會將光標所在位置的字符替換為輸入字符
-
r 單字符替換模式,只替換一次
other notes:
-
vim打開passwd文件或者其他文件,經常會有額外的提示
這種現象的原因往往是上次使用該文件的時候異常退出導致的。這種異常退出,會使原本打開時生成的緩存文件.passwd.swap文件,沒有被正常刪除。
只要刪除了隱藏文件.filename.swqp就可以了 -
關于vim打開文件后的各種顏色
在/etc/文件下打開文件,一般都是有顏色的。vim會自動給那些它認為有意義的文件顏色。這些文件,要么是有結尾標識(比如.sh),要么在文件中有標識(比如#!/bin/bash),要么在特定的文件夾下面(比如/etc/下通常被識別為配置文件)。如下:
原創文章,作者:m20-吳清玲,如若轉載,請注明出處:http://www.www58058.com/36414