博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux vi/vim编辑器按键说明
阅读量:7128 次
发布时间:2019-06-28

本文共 2466 字,大约阅读时间需要 8 分钟。

(一般模式可用的按钮说明,光标移动、复制粘贴、查找替换等)

移动光标的方法

h或向左箭头键 光标向左移动一个字符

j或向下箭头键 光标向下移动一个字符

k或向上箭头键 光标向上移动一个字符

l或向右箭头键 光标向右移动一个字符

[Ctrl] + [f] 屏幕向下移动一页,相当于[Page Down]按键

[Ctrl] + [b] 屏幕向上移动一页,相当于[PageUp]

[Ctrl] + [d] 屏幕向下移动半页

[Ctrl] + [u] 屏幕向上移动半页

  • 光标移动到非空格符的下一行
  • 光标移动到非空格符的上一行

n<space> n表示“数字”,例如20。按下数字再按空格键,光标会向右移动这一行的n个

字符。例如20<space>,则光标会向后移动20个字符距离。

0或功能键[home] 这是数字键“0”:移动到这一行的最前面字符处

$或功能键[End] 移动到这一行的最后面字符处

H 光标移动到这个屏幕的最上方那一行的第一个字符

M 光标移动到这个屏幕的中央那一行的第一个字符

L 光标移动到这个屏幕的最下方那一行的第一个字符

G 移动到这个文件的最后一行

nG n为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行。

N[Enter] n为数字。光标向下移动n行

gg 移动到这个文件的第一行,相当于1G

查找与替换

/word 向下寻找一个名称为word的字符串。

?word 向上寻找一个字符串名称为word的字符串

n 这个n是英文按键。代表重复前一个查找的操作。举例来说,如果刚才我们执行/word

去向下查找word这个字符串,则按下n后,会向下继续查找word的字符串。

N 这个N是英文按键。与n刚好相反,为“反向”进行前一个查找操作。例如输入/word后

,按下N则表示向上查找word

:n1,n2s/word1/word2/g n1与n2位数字。在第n1与n2之间寻找word1这个字符串,并将

该字符串替换为word2。举例来说,在100到200行之间查找

vbird并替换为VBIRD则用”:100,200/vbird/VBIRD/g”

:1,$s/word1/word2/g 从第一行到最后一行查找word1字符串,并将该字符替换为

word2

:1,$s/word1/word2/gc 从第一行到最后一行查找word1字符串,并将该字符串替换为

word2。且在替换前显示字符给用户确认(confirm)是否要替换

删除、复制与粘贴

x,X 在一行字当中,x为向后删除一个字符(相当于[Del]按键),X为向前删除一个字符(相当于

[Backspace])

nx n为数字,连续向后删除n个字符。举例说明,我想连续删除20个字符,”20x”

dd 删除光标所在的那一整行

ndd n为数字。删除光标所在的向下n行

d1G 删除光标所在到第一行的所有数据

dG 删除光标所在到最后一行的所有数据

d$ 删除光标所在到该行的最后一个字符

d0 0是数字0,删除从光标所在处到该行的最前面一个字符

yy 复制光标所在的那一行

nyy n为数字。复制光标所在的向下n行

y1G 复制光标所在行到第一行的所有数据

yG 复制光标所在行到最后一行的所有数据

y0 复制光标所在的那个字符到该行行首的所有数据

y$ 复制光标所在的那个字符到该行行尾的所有数据

p,P p为将已复制的数据在光标下一行粘贴,P则为粘贴在光标上一行。举例来说,我目前

光标在第20行,切已经复制了10行数据。则按下p后,那10行数据会粘贴在原本的20

行之后,也即21行开始粘贴。但如果按下P,那么原本的第20行会被变成30行。

J 将光标所在行与下一行的数据结合成同一行

c 重复删除多个数据,例如向下删除10行,[10cj]

u 复原前一个操作

[Ctrl] + r 重做上一个操作

. 这是小数点。意思是重复前一个操作的意思。如果你想重复删除、重复粘贴等操作,

按下”.” 就好了

进入插入或替换的编辑模式

i,I 进入插入模式(Insert mode)

i为从目前光标所在插入,I为在目前所在行的第一个空格符处开始插入

a,A 进入插入模式(Inset mode)

a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开

始插入

o,O 进入插入模式(Inset mode)

o为在目前光标所在的下一行处插入新的一行;O为目前光标所在处的上一行插入新

的一行

r,R 进入替换模式(Replace mode)

r 只会替换光标所在的那一个字符一次;R 会一直替换光标所在的文字,直到按下

[Esc]键为止

命令行的保存、离开等命令

:w 将编辑的数据写入硬盘文件中

:w! 若文件属性为“只读”时,强制写入该文件。不过,到底能不能写入,还是根该文件的

文件权限有关

:q 离开vi

:q! 若曾经修改过文件,又不想储存,使用“!”为强制离开不保存文件

:wq 保存后离开,若为“:wq!”则为强制保存后离开

ZZ 这是大写的Z。若文件没有更懂,则不保存离开,若文件已经被更动过,则保存后离

:w[filename] 将编辑的数据保存成为另一个文件(类似于另存文件)

:r[filename] 在编辑的书就中,读入另一个文件的数据,即将”filename”这个文件内容加到光标所

在行后面

:n1,n2 w [filename] 将n1到n2的内容保存成 filename这个文件

:!command 暂时离开vi 到命令行模式下执行command的显示结果。例如“:! ls /home” 即

可在vi当中查看/home 下面以ls输出的文件信息

:set nu 显示行号,设置之后,会在每一行的前缀显示该行的号

:set nonu 与set nu 相反,为取消行号

转载于:https://juejin.im/post/5be91919e51d450b3647f33f

你可能感兴趣的文章
web页面上通过后台弹出消息框的几种方式
查看>>
[Offer收割]编程练习赛50
查看>>
java中关于异常的处理
查看>>
JSTL报错Unable to read TLD "META-INF/c.tld" from JAR file "file.............................
查看>>
程序员最大的悲哀是什么?
查看>>
C数据类型
查看>>
java后台与硬件对接经验
查看>>
【hdu6093】Rikka with Number
查看>>
开发人员学Linux(9):CentOS7编译安装Git-2.13.1及使用
查看>>
什么是运维高手的境界?
查看>>
深入浅出之-route命令实战使用指南
查看>>
【沟通的艺术】 国王的演讲
查看>>
我的友情链接
查看>>
话里话外:装备制造业的四个转变方向
查看>>
大话数据中心双活
查看>>
未来架构师的平台战略范例(2)_集装箱
查看>>
三四线楼市泡沫加剧
查看>>
VMWare vShere/ESX硬盘的后置备与精简配置之间的转换
查看>>
Kafka0.8性能测试报告
查看>>
性能测试报告模板
查看>>