-
vi:visual interface
文本:ASCII,Unicode
文本编辑种类:行编辑器:sed
全屏编辑器:nano,vi
vim:vi improved -
使用:vim:模式化的编辑
基本模式:
编辑模式,命令模式
输入模式
末行模式:内置的命令行接口
打开文件:vim +# :打开文件后,直接让光标处于第#行的行首
+/pattern:打开文件后,直接让光标处于第一个被pattern匹配到的行的行首 -
模式转换:
编辑模式-输入模式
i insert ,在光标所在处输入
a append,在光标所在处后面输入
o 在当前光标所在行的下方打开一个新行
I 在当前光标所在行的行首输入
A 在当前光标所在行的行尾输入
0 在当前光标所在行的上方打开一个新行
c
C
输入模式-编辑模式:ESC
编辑模式-末行模式::
末行模式-编辑模式:ESC -
关闭文件
:q 退出
:q! 强制退出,丢弃做出的修改
:wq 保存退出
:x 保存退出
:w /PATH/TO/SOMEWHERE
ZZ:保存退出 -
光标跳转:
字符间跳转:h左j下k上l右,#command:跳转由#指定个数的字符 -
单词间跳转:
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一单词的词首
#command :由#指定一次跳转的单词数 -
行首行尾跳转:^:跳转至行首的第一个非空白字符
0零:跳转至行首
$:跳转至行尾 -
行间移动:#G :跳转至#行
G:最后一行
1G,gg:第一行 -
句间移动:
)
( -
段落间移动
}
{ -
vim的编辑命令
字符编辑:
x:删除光标处的字符
#x:删除光标处起始的#个字符
xp:交换光标所在处的字符及其后面字符的位置 -
替换命令(r,replace)
r:替换光标所在处的字符 -
删除命令:
d:删除命令,可结合光标跳转字符,实现范围删除。d$,d^,d0,dw,de,db
dd:删除光标所在的行,#dd:多行删除,操作可以撤销,可撤n次,删除的内容可以粘贴,但只能粘贴最近的一次。 -
粘贴命令(p,put,paste)
p:缓存区中存储的为整行内容,则粘贴至光标所在行的下方,否则,则粘贴至当前光标所在处的后面。
P(大写):缓存区中存储的为整行内容,则粘贴至光标所在行的上方,否则,则粘贴至当前光标所在处的前面。 -
复制命令(y,yank)
y:复制
y$,y0,y^,ye,yw,yb
yy:复制行,#yy:复制多行 -
改变命令(c,change)
c:修改完后由命令模式转到输入模式
#cc:一次删除多行 -
可视化模式
v:按字符选定
V:按行选定
note:经常结合编辑命令:d,c,y
撤销此前的编辑:u(undo)
撤销指定次数的操作:#u
撤销此前的撤销:Ctrl+r
重复前一个编辑操作:. -
翻屏操作:
Ctrl+f 向文件尾部翻一屏
Ctrl+b 向文件首部翻一屏
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏 -
vim自带的练习教程:vimtutor
-
vim中的末行模式:内建的命令行接口
1地址定界
. 表示当前行,%表示全文相当与1,$
/pat1/,/pat2/:从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束
使用方式:后跟一个编辑命令
d删除y复制w将范围内的行另存至指定文件中,r在指定位置插入指定文件中的所有内容 -
2查找
/pattern:从当前光标所在处向文件尾部查找
?pattern:从当前光标所在处向文件首部查找
n:与命令同方向
N:与命令反方向 -
3查找并替换
s:在末行模式下完成查找替换操作
s/要查找的内容/替换为的内容/修饰符
要查找的内容:可使用模式
替换为的内容:不能使用模式,但可以使用\1,\2…等后向引用符号,还可以使用“&”引用前面查找时查找到的整个内容
修饰符:i:忽略大小写
g:全局替换,默认情况下,每一行只替换第一次出现。
查找替换中的分隔符/可替换为其他字符。
马哥Linux学习笔记6-3vim编辑器
最新推荐文章于 2024-09-04 17:23:05 发布