vim 退出命令(保存、放弃保存)_linux保存并退出vim

vim 退出命令(保存、放弃保存)_linux保存并退出vim测试环境VMware12Pro下CentOS7自带vim7.4.1099今天下午第一次接触这个vim文本编辑器,拿到一个陌生的工具,我们想的当然是最短的时间掌握它的基本操作,体会到成就感。如果你跟我一样,那么这篇教程或许对你有所帮助。Linux下一切皆文件,所以需要强大的文本编辑器,而vim就是Linux上一个功能强大且使用广泛的文本编辑器。它可以建立、编辑、现实文件,并且它只有命令没…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

测试环境VMware 12 Pro 下CentOS 7自带vim7.4

今天第一次接触这个vim文本编辑器,拿到一个陌生的工具,我们想的当然是最短的时间掌握它的基本操作,体会到成就感。如果你跟我一样,那么这篇教程或许对你有所帮助。

碎碎念(如果没有时间可以直接跳过该部分,直接看命令)

Linux下一切皆文件,所以需要强大的文本编辑器,而vim就是Linux上一个功能强大且使用广泛的文本编辑器。它可以对文本进行创建、查找、替换、删除、复制和粘贴等操作,并且它只有命令没有菜单,这个跟Windows里面差别很大,所以一开始的观念要转换!
任何工具都应该是为人服务的,所以一开始不要整的太麻烦,会基本操作就可以了。
对于工具的各种命令,永远不是靠记忆,而是像查单词一样,掌握基本用法,需要时,用帮助命令学习该命令功能即可。

输入vim命令前都需要先按Esc!!切换到命令模式

一、vim的三种模式

  1. 正常模式——按Esc进入, 左下角显示文件名或为空 ,输入vim命令前都需要先按Esc!该模式下又分为命令模式操作和末行模式操作。

  2. 插入模式——按i进入, 左下角显示–INSERT–,这个是insert单词的第一个字母,这样好记,编辑文件时很常用。

  3. 可视模式—— 按v或V进入,左下角显示–VISUAL–阅读模式,暂时我是这么理解的…

二、vim的进入及命令语法

在Linux系统Shell提示符下输入vim和文件名称后,就进入vim编辑界面。若文件不存在则会新建一个文件,若存在则默认编辑该文件。

[jock@localhost ~]$ vim  #通过vim命令进入vim编辑器,此时为命令模式,里面可以查看vim的版本、以及如何求助等信息

命令语法:
vim [选项] [文件]
vim [选项]
用vi替代vim也可以。命令中常见的各选项如下(具体用法还没有实际操作过,先列出几个):

+        # 在文件末尾开始
-R        # 只读模式
-b        # 二进制模式
-e        # Ex模式
+<行数>        # 从指定行开始

三、帮助命令

最先学会求助的方法

:help  xxx       # 显示xxx命令的帮助,一般有这个够用了
:help       # 显示帮助文档,大致浏览即可
[jock@localhost ~]$ vimtutor       # 查看官文教程,不过版本较老,不建议细看

四、插入模式、光标移动、文件命令

1. 进入插入模式

在shell中输入vim文件名默认进入的是命令模式,在命令模式无法输入数据,需要在命令模式下使用以下命令进入插入模式,从而实现在文件中输入数据。

i        # 在当前位置插入
a        # 在当前位置后插入
A        # 在当前行尾插入
o        # 在当前行之后插入一行
O        # 在当前行之前插入一行
s        # 删除光标位置的一个字符,然后进入插入模式
S        # 删除光标所在的行,然后进入插入模式

2. 光标移动

使用上下左右箭头即可移动光标。其他命令如下:

h       # 左移一个字符
l       # 移一个字符,通常用w向右移动到下一个单词的第一个字母
j       # 上移一个字符
k       # 下移一个字符
#注意hljk前都可以在前面加上数字n,从而实现跨越的移动。比如5h,表示向左移动5个字符。
H        # 使光标移动到屏幕的顶部,head
M        # 使光标移动到屏幕的中间,middle
L        # 使光标移动到屏幕的底部
# 还可以使用[PU] [PD]实现上下翻页

3. 文件命令

vim filename       # 打开打个文件,若不存在则新建一个文件
vim file1 file2 file3...       # 同时打开多个文件
:open file       # 在vim窗口打开一个新文件
:split file       # 在新窗口中打开文件
:bn       # 切换到下一个文件
:bp       # 切换到上一个文件

五、命令模式与末行模式操作

进入末行模式需要先按[Esc]键进入命令模式,再按冒号[:]则可以进入末行模式。

1. 保存和退出

:q!       # 不保存文件,强制退出vim,若退出报错,直接用这个命令即可。
:q       # 不保存文件,退出vim。
:wq       # 保存文件,退出vim,w(write), q(quit)。
:wq!       # 保存文件,并强制退出vim。
:w        # 保存文件,但不退出vim。
:w filename       # 将文件另存为filename。
:wq! filename       # 将文件另存为filename,并强制退出vim。
:r filename       # 打开另外一个已经存在的文件filename。
:e filename       # 新建名为filename的文件。
:f filename       # 把当前文件改名为filename文件。
:nw filename       # 将第n行内容保存到文件filename中,n代表数字。
:n1,n2w filename       # 将第n1行开始到n2行结束的内容保存到文件filename中,n1,n2代表数字。
:1,.w filename       # 将第一行开始到光标当前位置的所有内容保存到文件filename中。
:.,$w filename       # 将从光标开始位置到文件末尾的所有内容保存到文件filename中。
:/str/w filename       # 将包含有str的行写到文件filename中,str代表字符。
:/str1/,/str2/w filename       # 将包含有str1开始到str2结束的内容写入文件filename中,str1和str2代表字符。
:e!       # 放弃所有修改,从上次保存文件开始再编辑命令历史
ZZ:       # 保存退出
ZQ       # 不保存退出

2. 删除命令

简单的删除跟word操作一样。

:d        # 删除当前行。
:nd        # 删除从当前行开始的n行,n代表数字
:n1,n2 d        # 删除n1行开始到n2行结束的所有内容
dG       # 删除从当前行开始到文件末尾的所有内容
:.,$d        # 删除从当前行开始到文件末尾的所有内容
:/str1/,/str2/d        # 删除从str1到str2之间的所有内容,str1、str2代表字符。

3. 复制、移动、跳转

:n1,n2 co n3        # 将n1和n2行之间的所有内容复制到n3行后面
:n1,n2 m n3        # 将n1和n2行之间的所有内容移动到n3行后面
:n        # 跳转到第n行

4. 替换、查找字符

#替换
:s/str1/str2/        # 将光标所在行第一个字符str1替换为str2
:s/str1/str2/g        # 将光标所在行所有的字符str1替换为str2
:n1,n2s/str1/str2/g        # 将n1行到n2行中所有的字符str1替换为str2
:%/str1/str2/g        # 将文件中所有的字符str1替换为str2
:.,$s/str1/str2/g        # 将光标当前位置开始到文件结束的所有字符str1替换为str2
#查找
/关键字       # 先按[/]键,在输入想查找的字符,如果第一次查找的不是想要的,可以一直按[n]键会往后查找下一个关键字,按[N]反向查找。
?关键字       # 同/关键字

5. 撤销和重复

u        # 撤销上一个操作,按多次[n]可以多次执行撤销
U        # 取消所有操作
.        # 再执行一次刚刚完成的操作,相当于恢复

6. 其他命令

:!command        # 运行shell命令,command代表命令
:set number        # 在文件中的每一行前面列出行号
:set nonumber        # 取消在文件中的每一行前面列出行号
Ctrl +g       # 列出光标所在行行号
:set readonly        # 设置文件为只读模式

声明:以上教程参考了於岳老师的《Linux命令应用大词典》一书。

后记:
我从本硕药学零基础转行计算机,自学路上,走过很多弯路,也庆幸自己喜欢记笔记,把知识点进行总结,帮助自己成功实现转行。
2020下半年进入职场,深感自己的不足,所以2021年给自己定了个计划,每日学一技,日积月累,厚积薄发。
如果你想和我一起交流学习,欢迎大家关注我的微信公众号每日学一技,扫描下方二维码或者搜索每日学一技关注。
这个公众号主要是分享和记录自己每日的技术学习,不定期整理子类分享,主要涉及 C – > Python – > Java,计算机基础知识,机器学习,职场技能等,简单说就是一句话,成长的见证!
每日学一技

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172541.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • maxcompute 2.0复杂数据类型之struct[通俗易懂]

    maxcompute 2.0复杂数据类型之struct[通俗易懂]maxcompute 2.0复杂数据类型之struct

  • 「快闪群」批量成交攻略

    「快闪群」批量成交攻略相较于朋友圈,APP里面的“限时秒杀”,快闪群更能塑造秒杀的氛围。在大多数消费场景中,如果1对1顾问式服务引导用户转化,那么人工、时间成本将会很高。所以一对多,能够一次性批量成交的运营手段越来越广泛的被商家使用,比如直播、快闪群之类的。快闪群,即超短时间的团购秒杀群。以小时为单位,在社群内通过短期的优惠刺激,利用人们的从众心理、稀缺效应以及紧迫感,达到快速出单,批量成交的目的。一般适用于决策成本低、产品服务相对标准化的零售企业、平台型电商,或线下实体门店。相比于朋友圈、APP里所谓的“限时秒杀”,

  • 死链处理的详细步骤[通俗易懂]

    死链处理的详细步骤[通俗易懂]死链处理:查找死链;收集死链;提交处理  一:查找死链  1.工具检测,在360极速浏览器的拓展中心下载安装检查网页死链的插件,可以查找当前网页的死链  2.直接点击页面查找死链  3.网站日志分析查找死链,去空间商后台下载IIS。  4.百度站长平台里面有个链接分析,也可以查看  二:收集死链  1.建一个TXT文

  • js 推断 当页面无法回退时(history.go(-1)),关闭网页[通俗易懂]

    js 推断 当页面无法回退时(history.go(-1)),关闭网页

  • java interface 里面的抽象方法默认public[通俗易懂]

    java interface 里面的抽象方法默认public[通俗易懂]①interface里声明的方法,会自动在方法名之前加上publicabstract②interface里声明的field,会自动在field之前加上publicstaticfinal这是因为,interface存在的目的就是要和外界公开如要在别的类里,实现interface里面的,抽象方法。这个方法的修饰符,也一定要public.也就是说,不能用比public还要受限制的修饰符。…

  • python进阶(13)装饰器[通俗易懂]

    python进阶(13)装饰器[通俗易懂]装饰器装饰器放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上。和这个函数绑定在一起。在我们调用这个函数的时候,第一件事并不是执行这个函数,而是将这个函数做为参数传入它头顶上这顶帽子,

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号