Linux文本编辑器---vim详解

芝士年糕
• 阅读 235

零.前言 本篇主要介绍Linux下文本编辑器vim的使用方法,以及sudo命令的实现。 我使用3A服务器远程连接的centos7 1.什么是vim 在windows系统下,我们使用VS来编写代码,编译代码,调试代码,运行代码等,甚至还可以进行发布代码并进行代码关系的维护。这是因为微软已经将实现这些功能的工具全部都打包放入VS编译器中了。 而在Linux系统中,并没有这种集万般武艺于一身的东西,我们编写代码,编译代码,调试代码等功能的实现是由不同的程序来完成的。 其中,vim就属于文本编辑器,是可以编写代码的,但是不能调试代码,也不能执行代码。 早期的Linux编辑器使用的是vi进行文本的编辑,vi与vim的关系类似C于C++的关系。 2.配置vim环境 (1)手动配置 要进行手动配置我们还需要学一些vim指令的知识,这里先作为了解,看文章后面部分就可以理解了。 首先在我们自己的文件夹下建立一个名为.vimrc的文件。 建立之后我们可以vim进入这个文件,然后以插入模式向其中输入配置vim格式的命令即可。 (2)白嫖配置 这里给大家推荐一个配置程序:gitforcpp 这是一个在gitee上免费的开源项目,只需要在gitee上搜索gitforcpp 进入后下拉页面,找到这段安装程序: Linux文本编辑器---vim详解

将其复制后,在当前用户的文件夹下粘贴,然后直接回车即可,系统会自动安装配置。 注意,当前用户对vim的配置只对当前用户生效,对其他用户是不生效的。 3.vim的三种模式以及切换 注意,本文中shift表示常按。 vim一共有四种模式,分别是命令模式,插入模式,底行模式以及替换模式,替换模式我们尽量当成一种功能去使用,因此这里主要介绍三种模式,已经足够。 当我们直接输入vim时,显示的是当前vim的版本信息: Linux文本编辑器---vim详解 我们需要建立一个文件才能打开文件,比如建立一个test.txt文件,然后用vim打开它: touch test.txt vim test.txt Linux文本编辑器---vim详解 打开后我们会进入一个空白的文本界面。目前我们所处的模式叫做命令模式。 如果我们想退出vim就需要先进入底行模式:shift+:。然后再输入q然后回车,即可退出vim。从底行模式进入命令模式可以通过Esc键。 我们发现我们现在是不能写入内容的,需要进入插入模式才能书写内容,此时需要输入i,即进入插入模式。当输入i时,我们发现下面出现了INSERT的字样。 同时我们也可以通过Esc键退出插入模式进入命令模式。

Linux文本编辑器---vim详解 注意:只有当进入底行模式的时候才能退出vim,如果当前处于插入模式,那么就需要先进入命令模式,再进入底行模式,才能退出vim。插入模式和底行模式必须通过命令模式进行相互转换。 下面用一张图来表示三者的关系: Linux文本编辑器---vim详解 4.命令模式 (1)光标位置 上下左右移动光标 我们可以使用键盘上的上下左右键来移动光标,但是不建议这样做,因为在最初的键盘是没有上下左右键的,我们使用HJKL来代替上下左右键。下面给出记忆方法。 H:左,四个键中最左侧。 J:下,联想jump是向下跳。 K:上,联想king是高高在上的。 L:右,四个键中最右侧。 光标锚点位置 shift+^:跳转到光标所在行行首。 shift+$:跳转到光标所在行行尾。 gg:跳转到起始行。 shift+g:跳转到结束行。 n+shift+g:跳转到第n行。 b:以单词为单位,光标向前移动。 w:以单词为单位,光标向后移动。 有人说,直接用鼠标不香吗,小项目还好,如果遇到大项目好几千行代码,直接命令操作会更加容易一些,因此vim就是为处理大项目而生的。 进入插入模式 i:光标位置不变。 a:光标向前挪动一位。 o:光标新开启一行。 (2)文本操作 yy:复制当前行。 nyy:复制当前行以及当前行后的n-1行。 p:光标所在行后所有行后退一行,粘贴到光标所在行的下一行。 np:一次重复粘贴n行。 u:撤销(类似ctrl z)。 ctrl+r:撤销最近的撤销。 dd:删除并复制当前行(dd与p连用就是剪切操作)。 ndd:删除并复制当前行即后n-1行。 shift(按住)+不断按:逐一改变大小写。 shift(按住)+(按住):改变一行的大小写。 x:删除光标后的一个字符,支持nx(从左向右删)。 shift+x:删除光标前的一个字符,支持n(shift+x)(从右向左删)。 r:字符替换,eg.r+b的意思是将一个字符替换成b,支持nr即5r+x表示的是将5个字符替换成x。 shift+r:进入替换模式,输入内容后覆盖之后的内容,按Esc退出。 5.底行模式 在命令模式下输入shift+:进入底行模式。 进入底行模式后我们会发现我们输入的指令都会显示在最底行。 注意,每一次输入指令后回车后需要重新输入shift+:才能继续输入指令。 Linux文本编辑器---vim详解 set nu:调出行号。 set nonu:关闭行号。 vs 文件名:分屏操作 ctrl+ww:光标多屏跳转,光标在哪个文件指令对哪个文件生效。(注意要在命令模式下使用该命令) w:保存,w!表示强制保存。 q:退出,q!表示强制退出。 wq:保存并退出。wq!表示强制保存并退出。 6.vim添加sudo指令 在root用户下vim在 /etc/sudoers位置处。下面就可以处理如何添加sudo命令了。 vim /etc/sudoers Linux文本编辑器---vim详解 打开后在100行,模仿root添加自己的用户名即可,这里我添加的是lhb。表示信任lhb这个用户。 我们就可以使用sudo指令了。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
2年前
2021年了,Python开发者不容错过的7个VS Code扩展
VisualStudioCode(简称VSCode)是一个由微软开发,同时支持Windows、Linux和macOS等操作系统的免费代码编辑器,它支持测试,并内置了Git版本控制功能,同时也具有开发环境功能,例如代码补全、代码片段和代码重构等。VSCode是程序员常用的代码编辑器之一,是一个可在所有平台上使用的开源、可扩展和轻量级的
Wesley13 Wesley13
2年前
vim介绍 、 vim颜色显示和移动光标 、vim一般模式下移动光标 、vim一般模式下复制、剪切和粘贴
vim是什么vim是什么?在之前接触Linux,编辑网卡配置文件的时候我们用过了vi,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。如果系统中没有vim,需要安装一下:yuminstallyvimenhanced安装完了之后就可以正常使用了。我们使用vi和vim打开/e
Wesley13 Wesley13
2年前
vi 编辑器
Linux下的文本编辑器有很多种,vi是最常用的,也是各版本Linux的标配注意,vi仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像Windows下的word有排版功能Vim是Viimproved的缩写,是vi的改进版。在Linux中,vi被认为是事实上的标准编辑器,因为:所有版本
Wesley13 Wesley13
2年前
VS Code的7个开源替代品,值得推荐!
VisualStudioCode,也称为VSCode,是一款支持Linux,Windows和macOS的代码编辑器。它既能编辑简单文本,也能像集成开发环境(IDE)一样管理整个代码库。它还可以通过插件进行扩展,被广泛认为是一个可靠的文本编辑器,轻松打败其他编辑器。微软将VSCode开源,但是从Microsoft下载的版本不是开放源代码。今
可莉 可莉
2年前
2021年了,Python开发者不容错过的7个VS Code扩展
VisualStudioCode(简称VSCode)是一个由微软开发,同时支持Windows、Linux和macOS等操作系统的免费代码编辑器,它支持测试,并内置了Git版本控制功能,同时也具有开发环境功能,例如代码补全、代码片段和代码重构等。VSCode是程序员常用的代码编辑器之一,是一个可在所有平台上使用的开源、可扩展和轻量级的
Stella981 Stella981
2年前
Linux学习:vim程序编辑器
本次记录vim这款文本编辑器的使用方法及它有哪些使用实例等。基本概念在Linux环境中,配置文件对整个系统来说具有举足轻重的作用,而对于其都是以ASCII的纯文本形式存在,而利用文本编辑器就能够达到方便修改配置的目的。vi是UNIX操作系统和UNIXLike操作系统中最通用的全屏幕纯文本编辑器。而Linux中的vi编辑器叫v
Stella981 Stella981
2年前
Linux中vim编辑器常用命令、文件查找、磁盘挂载、用户管理
Vim介绍Vim是全屏幕纯文本编辑器,是vi编辑器的升级版。vim不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在UNIX和Linux中,而vim可以跨平台运行在Windows,MACOS中。vim号称“编辑器之神”,具有无可匹敌的可扩展性。大部分Linux系统中,默认都会安装vim,在L
Easter79 Easter79
2年前
Sublime Text 3 实现C++代码的编译和运行
在数据结构代码的编写中,我选用了优秀的编辑器SublimeText3,但是在实现C代码的编译和运行上费了一番周折,接下来我贴出C编译系统的代码,供各位参考。编译后是在弹出的CMD命令行窗口运行的,因为若在SublimeText3运行则可能无法实现输入等操作(?)。1{2"encoding":
Wesley13 Wesley13
2年前
Visual Studio Code 1.35更新:远程开发终于来啦
前段时间大家可能看过一个新闻:微软为VSC开发一款名为RemoteDevelopment的扩展程序,可以让我们使用本地VSC开发和调试远程机器上的代码。这个功能对于我这个不会使用vim等linux工具的人来说,简直是一个重大消息。可惜的是,当时远程开发插件还处于测试当中,只能在VSCInsider也就是测试版中使用。如今VSC更新到了1.35,增加了许多
流浪剑客 流浪剑客
5个月前
Sublime Text 4 Dev 中文注册激活版 附 许可密钥 支持M1
是一款功能强大的文本编辑器,适用于Windows、Linux和macOS等操作系统。它支持多种编程语言,可以快速编辑代码并进行代码高亮显示,使得代码更加易读易懂。SublimeText4具有以下特点:界面简洁:SublimeText4的界面非常简洁,操作简