标签:linux、vim编辑器
vi/vim的区别:
1)相同:都是多模式编辑器
2)不同:vim是vi的升级版本,不仅兼容vi的所有指令,而且还有一些新的特性在里面,例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、macos、windows。
vi的常见模式:
1)命令行模式
控制屏幕上光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode
2)插入模式
只有在插入模式下,才可以进行文字的输入,按ESC键可回到命令行模式
3)底行模式
将文件保存或退出vim,也可以设置编辑环境等。
vim的基本操作:
1)在系统提示符号输入文件名后,就进入vim全屏编辑画面
注意:你在进入vim后,是处于命令行模式的,你需要切换到插入模式才能够输入文字。
2)与插入模式之间进行切换
在命令行模式下按一哈[i]或者[a]或者[o]进入插入模式,这时候就可以进行输入文字了。若当时在插入模式,想要回到命令行模式,按ESC键可回到命令行模式。
3)退出vim及保存文件
在命令行模式下,按冒号(:)进入底行模式
:w 保存当前文件
:wq 保存并退出
:q 退出
4)命令行模式功能键
1、插入模式
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
2、从插入模式切换为命令行模式
按ESC键
3、移动光标
vi可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母h、j、k、l,分别来控制光标的左、下、上、右移一格。
按「ctrl」+「b」:屏幕往“后”移动一页。
按「ctrl」+「f」:屏幕往“前”移动一页。
按「ctrl」+「u」:屏幕往“后”移动半页。
按「ctrl」+「d」:屏幕往“前”移动半页。
按G :移动到文章的最后
按 $ :移动到光标所在行的“行尾”
按 ^ :移动到光标所在行的“行首”
按 w :光标跳到下一个字的开头
按 e :光标跳到下一个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l。
按[gg]:进入到文本开始
按[shift+g]:进入文本末端
4、删除文字
「x」:每按一次,删除光标所在位置的一个字符。
「#x」:例如,「3x」表示删除光标所在位置的“后面(包含自己在内)”3个字符。
「X」:大写的X,每按次,删除光标所在位置的“前面”一个字符。
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行
5、复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关 的复制命令都必须与“p”配合才能完成复制与粘贴功能。
6、替换
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
7、撤销上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
8、 更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字
9、跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
5)底行模式下命令简介:
进入底行模式前,请先记住按ESC键确定您已经处于命令行模式,在冒号(:)即可进入底行模式。
1、列出行号
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号
2、跳至文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键 就会跳到该行了,如输入数字9,再回车,就会跳到文章的第9行。
3、查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止(注:此种查找是向下查找)
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为(注:此种查找是向上查找)
4、保存、退出文件(同前)
本文出自 “缘去即成幻” 博客,请务必保留此出处http://liu153.blog.51cto.com/10820414/1783054
标签:linux、vim编辑器
原文地址:http://liu153.blog.51cto.com/10820414/1783054