一个简单的vim例子

这篇具有很好参考价值的文章主要介绍了一个简单的vim例子。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.欢迎来到我的酒馆

        在本章节介绍vim工具。

二.什么是vim

2.1什么是vim
        vim是一种Linux命令行类型的文本编辑器。vim指的是"vi improved",意思是vi工具的升级版。vim是基于vi实现的,它提供了额外的功能,例如提升用户体验、增强文本编辑器的工作效率等。如果安装了vim程序,只需要输入命令就可以启动vim工具:

vim filename

        vim是 " Vi Improved “的缩写,它是一款免费、开源、跨平台的文本编辑器,它是Bram Moolenaar在1991年在类UNIX系统上开发出来的。vim编辑器是基于vi实现的,而vi编辑器是Bill Joy在1976年开发的,当时vi工具非常流行,但到了90年代,相比较于Emacs编辑器来说,vi缺少了很多功能,因此Bram Moolenaar开发了一些新的功能,并给这个编辑器起名为vim。
2.2 什么是vi
        vi是一种标准的命令行类型文本编辑器。vi指的是"visual interface”,意思是可视化的界面。vi始于UNIX命令行文本编辑器,当时它还不是vi,而是叫做"ed"的一款命令行文本编辑器,而且衍生出了不同类型的编辑器,最后才形成vi编辑器。要使用vi工具,只需要在命令行输入:

vi filename

        vi是一种模式类型的编辑器,而且它有很多种模式。当我们打开一个文本文件的时候,会进入到"command mode",在"command mode"命令模式下,无法输入内容。如果要切换到"insert mode" 插入模式,可以按下"i"键:

i

一个简单的vim例子,vim

在编辑内容完成后,可以按下"Esc"键返回到"command mode",保存并退出,可以输入:

:wq

w:write,表示写入。
q:quit,表示退出。

不保存仅退出,可以输入:

:q

2.3 安装vim
        vim是一款跨平台的编辑器,可以在Windows、Linux和Mac上运行。在Windows下安装vim,可以去vim的官网下载,点击这里下载vim。在大部分的*nix操作系统上都预装了vim,如果没有安装的话,可以使用命令进行安装,不同的Linux发行版的安装命令不同,下面列出在centos7下安装vim:

sudo yum -y install vim*

为了确保你正确的安装vim,你可以使用命令查看安装的vim路径:

which vim

如果是下面的输出,则说明vim已经安装好了:

/usr/bin/vim

三.vim中常见的模式

3.1打开vim
        你可以在命令行输入vim,就可以打开vim编辑器:

vim

vim界面:
一个简单的vim例子,vim
3.2 vim中的模式
        这里需要理解一个概念:在vim中任何东西都视为一种模式。如果你理解了vim中的模式,那么你使用vim就会如鱼得水。在vim中有很多种模式,这里介绍vim中最重要的4种模式:

  • " command mode " (命令模式)
  • " command-line mode " (命令行模式)
  • " insert mode " (插入模式)
  • " visual mode " (视图模式)

3.3 什么是命令模式?
        命令行输入vim,打开的vim界面默认就是命令模式,也叫做(Normal mode)普通模式。在命令模式下,可以切换到其它任何模式。一般情况下,你要从一个模式切换到另一种模式,首先你要转到命令模式,然后再切换到其它模式。当你在执行一个命令的时候,如果这个命令不是以冒号开始的(" : "),那就表明你现在处于命令模式。
3.4 什么是插入模式?
        在插入模式下,你可以随心所欲的编辑文本内容,只要按下i键就可以转到插入模式。在窗口的左下角,会显示一个单词:INSERT,表明当前处于插入模式,当你编辑内容完成后,你可以按下Esc键退回到命令模式,此时输入内容:wq就可以保存文本内容并退出vim。
一个简单的vim例子,vim

3.5 什么是命令行模式?
        在命令行模式下,可以执行一些命令。但是这些命令要以冒号开头(:),你可以在命令模式下输入冒号(:)切换至命令行模式,上面讲到的保存退出,就是命令行模式:

:wq

3.6 什么是视图模式?
        在视图模式下,你可以选择一些文本或运行一些命令,通过按下v键切换到视图模式。
一个简单的vim例子,vim


3.7 四种模式之间切换图
一个简单的vim例子,vim

四.开始使用vim

4.1创建一个文件
        使用vim创建文件非常简单!创建文件有两种方式,一种是打开终端,输入命令:

[user@192 tmp]$ vim simple.txt

如果当前目录下simple.txt这个文件不存在,则创建这个文件;如果当前目录下simple.txt文件存在,则打开这个文件;
另外一种创建文件的方式是,在命令行模式(命令模式切换到命令行模式,只需要输入:冒号即可),输入:

:edit simple.txt

输入完成后,提示:

"simple.txt" [New File]

一个简单的vim例子,vim

则说明已经创建了simple.txt文件,需要向文件中输入内容,只需要按下i键,切换至插入模式(insert mode),左下角会显示一个英文单词:INSERT,说明当前处于Insert mode,可以向文件中输入任何你想要输入的内容:
一个简单的vim例子,vim

4.2 保存文件并退出
        保存文件并退出,只需要切换到命令行模式,从插入模式切换到命令行模式,你需要按下Esc键,这时候,左下角不在显示英文单词:INSERT,输入冒号(:)将切换至命令行模式,
insert mode --> command mode: 按下Esc键
command mode -->command-line mode: 输入冒号(:)

:wq

一个简单的vim例子,vim


4.3 如何编辑一个文件
        编辑一个文件,你需要使用vim打开一个文件,并切换至插入模式。打开文件:

vim simple.txt

打开一个文件,默认是处于命令模式或普通模式,编辑文件,需要切换至插入模式,命令模式切换至插入模式,按下i键。
一个简单的vim例子,vim
按下Esc键,回到命令模式,输入:w 保存文件,输入:q不保存文件退出,你也可以保存退出一起输入,像这样:wq,表示保存文件并退出vim,如果不想保存文件直接退出,可以输入:q! ,!号表示强制。


4.4 如何剪切,复制,粘贴

        在默认模式下,按下v键进入视图模式。视图模式可以选取文本,选择内容后,按y键复制,p键粘贴,d键剪切。

一个简单的vim例子,vim

五.如何查找和替换

5.1查找和替换
        在一段文本中查找和替换也很简单,只需要一条命令就可以完成操作,下面是语法:

:[range]s/[pattern]/[string]/[flags]

单独解释每个部分是如何工作的:

  • [range] 表示可以传入的行数范围。%符号用于查找和替换所有行,行数的范围使用冒号隔开。例如,要查找和替换第5行到第10行,输入5,10。使用(.)号表示当前行,($)表示最后一行。
  • [pattern] 表示查找的模式,这里可以使用正则表达式。
  • [string] 表示要替换的一段内容。
  • [flags] 表示你期望要传入的参数。例如,c表示在替换内容之前需要确认。一般情况下,这是区分大小写的搜索,你也可以修该这个默认值,通过使用参数i可以忽略大小写。

一个简单的vim例子,vim

例如,上面的文本内容,有2个"早上好",要求将文本中出现的所有的早上好,替换成好久不见,可以输入以下命令:

:%s/早上好/好久不见/g
  • %s。 表示替换整个文件中的内容。
  • 早上好。 需要搜索的文本内容。
  • 好久不见。需要替换的文本内容。
  • g。表示全局修改。

5.2 指定行号查找和替换
        例如,现在有一个新的要求,把第4行到第7行出现的 “幸福快乐每一天” 替换成 “开心每一天”,并且替换前需要确认。可以在命令行模式下输入以下命令:

:3,5s/幸福快乐每一天/开心每一天/gci

一个简单的vim例子,vim

在命令行模式下,输入以下命令,可以显示行号:

:set nu

不显示行号:

:set nonu

六.如何撤销和重做操作

        有时,当你在编辑一个文件的时候,你可能删错了一行,或者是在编辑的时候改变注意了,这时候需要执行撤销操作,返回上一步。在vim中撤销操作,你可以在命令模式下按下u键,即可取消之前的操作,按两下u键,返回前两步操作。
撤销操作:

1.命令模式下,按下u键
2.命令行模式下,输入:u
3.命令行模式下,输入:undo
4.命令行模式下,:2u表示返回前两步,:4u表示返回前4步,以此类推。

重做操作(反撤销):

1.命令模式下按下ctrl+r :重做,重新执行一遍之前的操作
2.命令行模式下,输入:redo

重做4步,可以按下4ctrl+r(按下4键,再按下ctrl键不放,按r键。)

七.写在最后

        一个简单的vim例子完结。在本章节只介绍了vim的基本操作,学完本篇vim例子可以帮助你更好的使用vim工具。虽然在本篇中只介绍了vim的1%的内容,但是这些基本操作会帮助到你更好的理解和应用vim。如果有什么想问的问题,可以在评论下方留言,如果发现有错误的地方或有待提高的地方,欢迎指正!文章来源地址https://www.toymoban.com/news/detail-693591.html

到了这里,关于一个简单的vim例子的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt+JSON简单例子

    json.h json.cpp hello.json json.h json.cpp Cappuccino-jay【QT】Qt使用QJson生成json文件并保存 其实我也恋长安 QT5中如何将数据转换为JSON格式

    2024年02月08日
    浏览(40)
  • iocp简单例子

    首先说明:纯iocp使用的例子看:纯iocp例子(里面的代码可能无法运行,但是下面的代码一定可以运行,可以看看它里面的 PostQueuedCompletionStatus函数的使用,参考参考然后拿出来放到下面的代码里测试,搞几下就能懂了),主要涉及api:PostQueuedCompletionStatus(它可以触发一次

    2024年02月19日
    浏览(31)
  • springboot简单的异常处理例子

    1. ExceptionHandler仅仅处理当前controller的Exception @RestController @RequestMapping(\\\"/ex\\\") public class ExController { @GetMapping(\\\"thex\\\") public String throwEx() throws Exception {     throw new Exception(\\\"exception thrown from ExController.throwEx\\\"); } @GetMapping(\\\"fnfex\\\") public String FileNotFound() throws Exception {     throw new FileNotF

    2024年02月02日
    浏览(66)
  • selenium XPATH 使用简单例子

    定位所有的 a 元素: //a 定位带有特定id属性的元素: //*[@id=“exampleId”] 定位带有特定class属性的元素: //*[contains(@class, “exampleClass”)] 定位包含特定文本的元素: //*[text()=“Example Text”] 定位包含特定部分文本的元素: //*[contains(text(), “Partial Text”)] 定位第一个 元素: /

    2024年02月21日
    浏览(41)
  • Dva.js(基础、简单例子解读)

    简单介绍一下        近期在做react项目时,看到项目中数据的公共存储用的Dva.js,整体的代码结构看起来和vuex差不多,这两天趁着刚忙完,利用工作之余的时间空隙,大致了解了dva的基础理论,代码结构应用,参考着其他优秀的技术大神博主,今天也做个大致的整理。 大致

    2023年04月18日
    浏览(30)
  • 使用Junit进行单元测试的简单例子

    首先新建一个工程,选择合适的路径和JDK版本,其它默认就行。 把Main.java内容改为如下。    后面就是对add方法增加单元测试 在project窗口中右击项目,在菜单中选择:New - Directory 在弹出的提示框中输入目录名:test 。 然后右击 project窗口中 test 目录,在弹出菜单中选择:

    2024年02月09日
    浏览(53)
  • C# Atrribute和反射的简单例子

    Attribute 需要以Attribute 结尾, 并继承Attribute 结果 : 工厂模式 webAPI应用 更换ConnServiceImpl1为ConnServiceImpl2时, 只需要 换为 使用抽象类: 结果:

    2024年02月13日
    浏览(31)
  • 借助一个例子简要了解机器学习

    环境: azureml_py boot_size harness_size 0 39 58 1 38 58 2 37 52 3 39 58 4 38 57 5 35 52 6 37 55 7 36 53 8 35 49 9 40 54 10 40 59 11 36 56 12 38 53 13 39 58 14 42 57 15 42 58 16 36 56 17 36 51 18 35 50 19 41 59 20 42 59 21 38 59 22 37 55 23 35 50 24 40 55 25 36 52 26 35 53 27 39 54 28 41 61 29 37 56 30 35 55 31 41 60 32 39 57 33 41 56 34 42 61 35 42 58 36 3

    2024年01月25日
    浏览(37)
  • flask框架的第一个例子

    我们首先从flask模块中导入Flask类并创建一个应用实例。 然后我们使用@app.route装饰器为每个URL定义一个路由。每个路由都关联到一个视图函数,当那个URL被访问时,关联的视图函数将被执行。 @app.route(‘/’)定义了应用的主页。当你访问 “http://localhost:5000/” 时,将会运行

    2024年02月15日
    浏览(39)
  • 使用 pyspark 进行 Clustering 的简单例子 -- KMeans

    K-means算法适合于简单的聚类问题,但可能不适用于复杂的聚类问题。此外,在使用K-means算法之前,需要对数据进行预处理和缩放,以避免偏差。 K-means是一种聚类算法,它将数据点分为不同的簇或组。Pyspark实现的K-means算法基本遵循以下步骤: 随机选择K个点作为初始质心。

    2024年02月06日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包