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

2022-09-23 11:38:00 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Vim的保存、退出等基本命令(CentOS7 Vim7.4实用且详细版本)

      • 测试环境VMware 12 Pro 下CentOS 7自带vim7.4
      • 碎碎念(如果没有时间可以直接跳过该部分,直接看命令)
      • 输入vim命令前都需要先按Esc!!切换到命令模式
      • 一、vim的三种模式
      • 二、vim的进入及命令语法
      • 三、帮助命令
      • 四、插入模式、光标移动、文件命令
        • 1. 进入插入模式
        • 2. 光标移动
        • 3. 文件命令
      • 五、命令模式与末行模式操作
        • 1. 保存和退出
        • 2. 删除命令
        • 3. 复制、移动、跳转
        • 4. 替换、查找字符
        • 5. 撤销和重复
        • 6. 其他命令
      • 声明:以上教程参考了於岳老师的《Linux命令应用大词典》一书。

测试环境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编辑界面。若文件不存在则会新建一个文件,若存在则默认编辑该文件。

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

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

代码语言:javascript复制
         # 在文件末尾开始
-R        # 只读模式
-b        # 二进制模式
-e        # Ex模式
 <行数>        # 从指定行开始

三、帮助命令

最先学会求助的方法

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

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

1. 进入插入模式

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

代码语言:javascript复制
i        # 在当前位置插入
a        # 在当前位置后插入
A        # 在当前行尾插入
o        # 在当前行之后插入一行
O        # 在当前行之前插入一行
s        # 删除光标位置的一个字符,然后进入插入模式
S        # 删除光标所在的行,然后进入插入模式
2. 光标移动

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

代码语言:javascript复制
h       # 左移一个字符
l       # 移一个字符,通常用w向右移动到下一个单词的第一个字母
j       # 上移一个字符
k       # 下移一个字符
#注意hljk前都可以在前面加上数字n,从而实现跨越的移动。比如5h,表示向左移动5个字符。
H        # 使光标移动到屏幕的顶部,head
M        # 使光标移动到屏幕的中间,middle
L        # 使光标移动到屏幕的底部
# 还可以使用[PU] [PD]实现上下翻页
3. 文件命令
代码语言:javascript复制
vim filename       # 打开打个文件,若不存在则新建一个文件
vim file1 file2 file3...       # 同时打开多个文件
:open file       # 在vim窗口打开一个新文件
:split file       # 在新窗口中打开文件
:bn       # 切换到下一个文件
:bp       # 切换到上一个文件

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

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

1. 保存和退出
代码语言:javascript复制
: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操作一样。

代码语言:javascript复制
:d        # 删除当前行。
:nd        # 删除从当前行开始的n行,n代表数字
:n1,n2 d        # 删除n1行开始到n2行结束的所有内容
dG       # 删除从当前行开始到文件末尾的所有内容
:.,$d        # 删除从当前行开始到文件末尾的所有内容
:/str1/,/str2/d        # 删除从str1到str2之间的所有内容,str1、str2代表字符。
3. 复制、移动、跳转
代码语言:javascript复制
:n1,n2 co n3        # 将n1和n2行之间的所有内容复制到n3行后面
:n1,n2 m n3        # 将n1和n2行之间的所有内容移动到n3行后面
:n        # 跳转到第n行
4. 替换、查找字符
代码语言:javascript复制
#替换
: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. 撤销和重复
代码语言:javascript复制
u        # 撤销上一个操作,按多次[n]可以多次执行撤销
U        # 取消所有操作
.        # 再执行一次刚刚完成的操作,相当于恢复
6. 其他命令
代码语言:javascript复制
:!command        # 运行shell命令,command代表命令
:set number        # 在文件中的每一行前面列出行号
:set nonumber        # 取消在文件中的每一行前面列出行号
Ctrl  g       # 列出光标所在行行号
:set readonly        # 设置文件为只读模式

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

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

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

0 人点赞