【Linux】Linux编辑器 您所在的位置:网站首页 在vim编辑器中编辑完成后怎么运行文件 【Linux】Linux编辑器

【Linux】Linux编辑器

2024-07-18 06:08| 来源: 网络整理| 查看: 265

目录 1.vim的基本概念2.vim基本操作3.vim命令模式命令集4.vim末行模式命令集5.简单vim配置6.使用sudo提权7.关闭vim时使用 ctrl + z 退出怎么解决?

为什么要学习vim?

“在 Linux 系统中一切都是文件,而配置一个服务就是在修改其配置文件的参数”。 而且在日常工作中大家也肯定免不了要编写文档,这些工作都是通过文本编辑器来完成的。

vim是Linux上的文本编辑器(写代码的工具),有时候在我们的生产环境下我们的软件可能会出现各种各样的问题,这些问题都需要我们通过vim来解决,如果我们不会vim,这时就要我们在Windows下的VS code进行本地和远端的联合开发,查看问题,没办法直接在Linux上进行修改,这太慢了。

我们的目标是先使用vim用熟了之后在windows黑屏下可以直接编程,这样我们开发软件在Linux下运行时出现问题,我们可以使用vim来面对这些极端环境(如:对源代码进行修改),也满足了我们的常规开发。

了解:

vi和vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

这里是一张vi/vim的指令的键盘图,可以结合这篇博客学习 在这里插入图片描述

1.vim的基本概念

不同与VS 2019、idea这些集成开发环境(ide),vim就是一个单纯的编辑器。

在我们使用的Linux操作系统上一般都会默认安装vim,不需要我们再次安装。我们可以直接输入vim回车查看是否安装,若显示效果如下则表示以安装。(使用ctrl + z返回)

在这里插入图片描述

若没有vim可使用下面的指令安装

yum install -y vim //root下 sudo yum install -y vim //普通用户下,使用sudo安装

vim是一款多模式的编辑器,每种模式的用法和差别不同,每种模式可以互相切换,这里我们主要掌握三种,分别是命令模式、插入模式和底行模式,各模式的功能区分如下:

正常/普通/命令模式

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode

插入模式

只有在Insert mode下,才可以做文字输入,按 [ESC] 键可回到命令行模式。该模式是我们后面用到的最频繁的编辑模式。

末行模式

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接插入。

:help vim-modes

2.vim基本操作

vim编辑器中的这三种模式,每种模式分别又支持多种不同的命令快捷键,这大大提高了工作的效率,而且用户在习惯后也会觉得相当顺手。要想高效率地操作文本,就必须先搞清这三种模式的操作区别以及模式之间的切换方式。

在这里插入图片描述

进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:

vim 文件名(我们可以直接使用vim 文件名打开文件编译,该文件不存在默认创建文件,该文件存在打开该文件)进入vim之后,是处于[命令模式],你要切换到[插入模式]才能够输入文字。

在这里插入图片描述

【命令模式】切换至【插入模式】

输入a

输入i

输入o

在这里插入图片描述

【插入模式】切换至【命令模式】

目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

【命令模式】切换至【末行模式】

[shift + ;] ,其实就是输入 [:]冒号

退出vim及保存文件,在【命令模式】下,按一下【:】冒号键进入[Last line mode],例如:

:w (保存当前文件):wq (输入[wq],存盘并退出vim):q! (输入q!,不存盘强制退出vim):q (退出,若文件经过修改没办法直接退出):set nu (显示行号):set nonu (不显示行号):命令 (执行该命令):整数 (跳转到该行)

下图为从插入模式到退出vim 在这里插入图片描述

总结:

在每次运行 Vim 编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作,而每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在 Vim 中,无法直接从输入模式切换到末行模式。

若我们不知道目前处在什么模式,无脑【ESC】,按过之后一定在命令模式退出的时候一定要先保存在退出。打开vim后就不要用鼠标和鼠标滑轮。 3.vim命令模式命令集

以下命令在命令模式下实现

插入模式

按【i】切换进入插入模式【insert mode】,按”i“进入插入模式后是从光标当前位置开始输入文件;按【a】进入插入模式后,是从目前光标所在位置的下一个位置开始插入文字;按【o】进入插入模式后,是插入新的一行,从行首开始输入文字。

按【ESC】键从插入模式退回命令模式

移动光标

vim可以直接用光标来上下左右移动,但规定的vim是用小写英文字母 【h】、【j】、【k】、【l】,分别控制光标左、下、上、右移一格。

在这里插入图片描述

按 【G】:移动到文章的最后

按 【$】:移动到光标所在行的”行尾“

按 【^】:移动到光标所在行的”行首“

按 【w】:光标跳到下个字的开头

按 【n + w】:光标跳到往后第n个字的开头

按 【e】:光标跳到下个字的字尾

按 【b】:光标回到上个字的开头

按 【n + b】:光标跳到往前第n个字的开头

按 【#】:光标移动到该行的第#个位置,如:51,561

按 【gg】:进入到文本开始

按 【shift + g】:进入文本末端

按 【n + shift + g】:首先输入需要定位的行数n,在按shift + g贯标移至该行

按 【ctrl】+【b】:屏幕往”后“移动一页

按 【ctrl】+ 【f】:屏幕往”前“移动一页

按 【ctrl】+【u】:屏幕往”后“移动半页

按 【ctrl】+【d】:屏幕往”前“移动半页

删除文字

【x】:每按一次,删除光标所在位置的一个字符【#x】:例如,【6x】表示删除光标所在位置的”后面(包括自己在内)“6个字符【X】:大写的X,每按一次,删除光标所在位置的”前面“一个字符【#X】:例如,【20X】表示删除光标所在位置的”前面“20个字符【dd】:剪切所在行(在使用p进行粘贴,不使用p操作即为删除)【#dd】:从光标所在行开始剪切#行

复制

【yw】:将光标所在之处到字尾的字符复制到缓冲区中。【#yw】:复制#个字到缓冲区【yy】:复制光标所在行到缓冲区【#yy】:例如,【6yy】表示拷贝从光标所在行“往下数”6行文字【p】:将缓冲区内的字符贴到光标所位置。注意:所有与”y“有关的复制命令都必须与”p“配合才能完成复制与粘贴功能。

在vim中一旦保存退出,之前的拷贝操作就不会再保存,下面很多操作同理。

如图为复制一行和多行(yy + p): 在这里插入图片描述

替换

【r】:替换光标所在处的字符【R】:替换光标所到之处的字符,直到按下【ESC】键为止

撤销上一次操作

【u】:如果您误执行一个命令,可以马上按下【u】,回到上一个操作。按多次”u“可以执行多次回复【ctrl + r】:撤销的恢复

如下图为进行撤销和撤销的恢复指令(u / ctrl + r): 在这里插入图片描述

更改

【cw】:更改光标所在处的字到字尾处【c#w】:例如,【c3w】表示更改3个字【shift + ~】:进行大小写切换【r】+【替换的字符】:先按r后在按需要替换的字符,光标所指字符就替换为要替换的字符了【n+r】+【替换的字符】:增加n表示替换光标所在位置后的n个字符。【shift + r】:进入替换模式(使用【ESC】退出该模式)

如下图,进行大小写切换(shift + ~) 在这里插入图片描述 如下图进入替换模式(shift + r) 在这里插入图片描述

跳至指定的行

【ctrl】+【g】列出光标所在行的行号。【#G】:例如,【15G】,表示移动光标至文章的第15行行首。 4.vim末行模式命令集

在使用末行模式之前,请记住先按【ESC】键确定已经处在命令模式,再按【:】冒号即可进入末行模式。

列出行号

【set nu】:输入set nu后,会在文件中的每一行前面列出行号。【set nonu】:输入set nonu后,不显示行号。

跳到文件中的某一行

【#】:【#】号表示一个数字,在冒号后输入一个数字,在按回车键就会跳到该行了,如:输入数字15,在回车,就会跳到文章的第15行。

查找字符

【/关键字】:先按【/】键,在输入想要寻找的字符,如果第一次找的关键字不是想要的,可以一直按【n】会往后寻找到需要的关键字为止。

【?关键字】:先按【?】键,再输入想要寻找的字符,如果第一次找的关键字不是想要的,可以一直按【n】会往后寻找到需要的关键字为止。

问题:/ 和 ?查找右什么区别?

区别:

?查找按【n】向上查找

/ 查找按【n】向下查找

在这里插入图片描述

保存文件

【w】:再冒号输入字母【w】就可以将文件保存起来。

离开vim

【q】:按【q】就是退出,如果无法离开vim,可以再【q】后跟一个【!】强制离开vim。【wq】:一般建议离开时,搭配【w】一起使用,这样在退出的时候还可以保存文件。

对文件进行操作

【! + 命令】:使用!后跟命令表示执行该命令。

如:

! gcc test.c表示对该文件生成可执行文件。

! ls -la 显示该文件所在目录下的文件信息

在这里插入图片描述

替换操作

【s/替换目标/替换的数据】:如:s/ZS/MAN,将当前光标所在行的第一个ZS替换成MAN【s/替换目标/被替换数据/g】:如:s/ZS/MAN/g,将当前光标所在行的所有ZS都替换成MAN(g—global,全局的)【%s/替换目标/被替换数据/g】:如:%s/ZS/MAN/g,将全文中的所有ZS替换成MAN

在这里插入图片描述

分屏操作

【vs 文件名】:分屏创建新的文件。注意: 光标只有一个,光标在哪里,编写那个文件。使用ctrl + w + w(ctrl按着不动,w快速按两下,切换光标到不同文件)可以使用vs产生多个分屏,不过一般最多三个,再多影响实际操作。新创建的文件可以是以创建的,也可以是未创建的,vs后默认创建使用wq或q退出

5.简单vim配置

在我们的学习和工作中,Linux系统最开始的vim或我们自己下载的vim在最开始,用起来不是很方便,这就需要我们自己配置或者下载某个大佬的vim配置文件,来修改自己的vim。

我们自己配置vim时,配置文件名为.vimrc,vim在启动时,会自动在当前用户目录下,寻找该配置文件,如果没有找到,使用的依然时最初的vim。

我们可以自己创建.vimrc文件,在其中进行配置,添加自己需要的功能即可。

cd ~ //进入家目录 touch .vimrc //创建vim配置文件

自己创建的.vimrc配置文件,每个Linux用户都是独立互不影响的,我们在一个用户下配置一个vim配置文件,所做的配置不会影响到该Linux系统下的其他用户,只是修改了该用户下的vim。

我们一般将.vimrc配置文件放在用户的家目录下(以下是我下载别人的配置文件)

在这里插入图片描述

大家想要配置一下自己的配置文件,可以在网上搜索一下。

在这里插入图片描述

找一些自己喜欢的设置,写在自己的配置文件中。

上面的图片都是我为配置v之前的vim,下图是我下载大佬配置好的vim

在这里插入图片描述

如果大家的版本是centos7的,可以将以下命令复制到命令行中,下载该vim,重启后,即可使用。

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

大家还可以点击下面的链接学习更多的vim知识。

vim从入门到精通

6.使用sudo提权

在Linux下,root用户可以无视权限做任何事情,而其他的普通用户却做不到,但在学习和工作中,我们同样需要在普通用户下使用root权限做一些事情,这里我们就需要使用sudo来为我们的指令提权,使其有root的权限。

我们要想使用sudo,就需要我们自己去配置后方能使用,下面是配置方法。

切换到root用户

在这里插入图片描述

打开/etc/sudoers文件

在这里插入图片描述

找到下面的一行,添加需要使用sudo的用户

在这里插入图片描述

使用以下格式添加用户使其可以使用sudo

用户 ALL=(ALL) ALL

退出root用户

//方法1 ctrl+d //方法2 su 用户名 7.关闭vim时使用 ctrl + z 退出怎么解决?

当我们使用vim编写一个文件,不小心使用ctrl + z退出后,在次使用vim进入该文件,会遇到下面的情况 在这里插入图片描述 这个问题该如何解决呢?下面是我使用的方法,希望对你有帮助

先在终端使用jobs命令,查看需要终止的vim文件的序号,还有其他的程序在后台运行也会显示,如下 在这里插入图片描述 接着使用fg 序号,打开该序号代表的文件,在使用正常的退出操作:wq!强制退出即可,弱遇到下面的提示输入y即可 在这里插入图片描述


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有