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)


相关推荐

  • RCNN和SPPnet

    RCNN和SPPnetRCNN的提出首次利用了CNN来提取图片特征,大大提高了检测精度。整体思路:输入一张图片,selectivesearch方法提取2000个proposalregion,由于CNN输入图片的大小是固定的,所以需要把proposalregion变成同样的大小(比如227×227),然后通过五层卷积层和两个全连接层,然后用SVM进行分类因为我们后面还要继续用这2000个候选框图片,继续…

  • 运行时异常和非运行时异常(一般异常)的区别

    运行时异常和非运行时异常(一般异常)的区别一,异常的概念Java异常类层次结构图:Throwable:有两个重要的子类:Exception(异常)和Error(错误),二者都是Java异常处理的重要子类,各自都包含大量子类。Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时JVM(Java虚拟机)出现的问题。例如,Java虚拟机运行错误(V…

  • mysql的日志文件在哪里_如何查看docker运行日志

    mysql的日志文件在哪里_如何查看docker运行日志linux中mysql日志文件在哪里?发布时间:2020-04-2110:47:28来源:亿速云阅读:1535作者:小新linux中mysql日志文件在哪里?相信有很多人都不太了解,今天小编为了让大家更加了解linux中mysql日志文件,所以给大家总结了以下内容,一起往下看吧。Linux中MySQL日志在哪Linux中MySQL日志一般保存在/var/log/目录下,但还需要看具体的配置文件才…

    2022年10月14日
  • Mariadb源代码编译过程

    Mariadb源代码编译过程

  • java定义数组_java中数组的三种定义方式_java中数组的定义及使用方法(推荐)…

    java定义数组_java中数组的三种定义方式_java中数组的定义及使用方法(推荐)…描述java中数组的三种定义方式java中,数组是一种很常用的工具,今天我们来说说数组怎么定义[java]viewplaincopy/***数组的三种定义方法*1.数组类型[]数组名=new数组类型[数组长度];*2.数组类型[]数组名={数组0,数组1,数组2,数组3,。。。。};*3.数组类型[]数组名=new数组类型[]{数组0,数组1,数组2,。。。};**/p…

  • SCSA第四天总结「建议收藏」

    SCSA第四天总结「建议收藏」一、防共享技术:背景: 在企业的网络管理、在运营商代建的高校网络中出现了防共享上网的需求,即防代理、防一拖N的需求。 目前运营商以及企业需要面对共享上网主要带来的2个问题: 1、 在企业中,不少用户共享自己访问互联网的权限给其他用户,绕开了企业对用户设定的上网权限控制,使得原本没有上网权限的用户可以上网了,或者使得原本上网权限较低的用户拥有了较高的权限,给网络管理带来了诸多麻烦。 2、 在运营商承建和运维的高校网络中,遇到很多学生使用路由器或者其他软件方式,共享互联网的访问给其他同学或朋友,直

发表回复

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

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