vi和vim编辑器使用教程

vivim的基本介绍:

Linux系统会内置vi文本编译器

vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计,代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

vivim常用的三种模式

正常模式

vim打开一个档案就直接进入一般模式了(这是默认的模式),在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据

插入模式

按下iIoOaArR等任何一个字母才会进入编辑模式,一般来说按i即可。

命令行模式

输出esc再输入:在这个模式中,可以提供你相关指令,完成读取,存盘,替换,离开vim,显示行号等的动作则是在此模式当中达成的。

复制粘贴【一般模式】一进去那个模式

向前/向后删除一个字符

xX

连续向后删除 n 个字符

nx

复制当前行

yy

复制当前向下的5

5yy

将复制内容在前一行/后一行粘贴

p / P

粘贴

p

删除当前行

dd

删除当前向下的5

5dd

删除5-10行内容

510d

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

d2G

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

dG

删除游标所在处,到该行的最后一个字符

d$

撤销到上一步

u

重做上一个动作。

[Ctrl]+r

重复前一个动作

  .

光标的移动【一般模式】

文档的末行

G(相当于1G

文档的最首行

gg

移动到第n

nG n代表行数)

移动到第n

ngg

屏幕向下移动一页

Ctrl + f

屏幕向上移动一页

Ctrl + b

移动到这行第一个字符

0Home

移动到这行最后字符

$或End

移动光标

h j k l 或者 上下左右箭头

光标向下移动n

n(数字) + 回车(Enter

搜索字符【一般模式下】

向光标之下寻找一个字符串

/关键字

向光标之上寻找一个字符串

?关键字

重复前一个搜寻的动作

n

『反向』进行前一个搜寻动作

N

替换字符【命令模式下】

设置/取消文件的行号

set nu/set nonu

全文寻找字符串,并将该字符串取代

:1,$s/word1/word2/g

:%s/word1/word2/g

g后面加上c需要用户确认

在n1与n2行之间寻找 字符串,并将该字符串取代

n1,n2s/word1/word2/g

全文寻找字符串,并将该字符串取代、且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)

:1,$s/word1/word2/gc

:%s/word1/word2/gc

一般模式切换到编辑模式说明

i 为『从目前光标所在处输入』

为『在目前所在行的第一个非空格符处开始输入

a 为『从目前光标所在的下一个字符处开始输入

为『从光标所在行的最后一个字符处开始输入

为在目前光标所在的下一行处输入新的一行

为在目前光标所在的上一行处输入新的一行

进入取代模式

r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止

一般模式切换到指令行模式【命令模式下】

将编辑的数据写入硬盘档案中

w

若文件属性为『只读』时,强制写入该档案。

w

离开vim

q

修改过档案,又不想储存,使用 ! 为强制离开不储存

q

存储后离开

:wq

如果修改过,保存当前文件,然后退出

ZZ

不保存,强制退出

ZQ

#Linux#
全部评论
这个长时间不用,我就忘记了
点赞 回复 分享
发布于 2022-08-27 22:15 陕西

相关推荐

12-08 07:42
门头沟学院 Java
27届末九,由于是女生,身边人几乎没有就业导向的,自学只能跟着网课,没人指导,很迷茫。下图是我目前的简历,不知道有需要修改的地方吗?求拷打。下面是目前的学习情况:目前算法过完了一遍力扣100和代码随想录,不过不是很熟,面经看了小林coding、JavaGuide,有一些没用过的技术看得不是很明白,掌握得不是很扎实。再加上常年跟黑马网课听思路,真正自己动手写代码的时间很少,这让我一直不敢投简历,总觉得内里空虚。项目没准备好面试相关的问题,简历上相应的考点不熟。如此种种。。。看到很多很多学长学姐大佬们的面经,愈发觉得面试可怕,自己没准备好,总担心自己是不是无望后端开发了。看到牛客很多同届以及更小一届的同学都找到实习了,很希望自己也能找到实习。而自己又好像摸不到后端学习的门路,只能不断赞叹黑马虎哥写的代码真优雅!微服务架构实在巧妙!消息队列、redis、sentinel、nacos、mybatisplus等等的引入都会让我赞叹这些工具的设计者的巧思,以及包括但不限于Java语言的优雅。然而只是停留在了解的程度,并不熟练。我是很希望能够继续深入探索这些知识的,只不过有一大部分时间都花在学校课程上了。我感觉我被困住了,我一方面必须保证我能够有个不错的学业分使我能有我几乎不想选择的读研退路(还有个原因是复习不全我会焦虑考试挂科,因此我会做好全面的准备,而这一步很费时间),一方面在B站学习各种网课,一方面得考虑提升自己并不扎实的算法基础,另一方面还得准备八股面经。这让我有点苦恼,我好像没那么多时间,因为绝大部分时间都花在了复习学校科目中了。我好像处处用时间,但收效甚微。想问问各位大佬是怎么平衡时间的呢?算法、项目和八股是怎么准备的呢?有什么高效的方法吗?谢谢您们花时间阅读我的稿件!
菜菜狗🐶:大胆投,我当时也是害怕面试,投多了发现根本约不到面🤡
投递哔哩哔哩等公司6个岗位
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务