Linux文本编辑器—vim详解

Linux文本编辑器—vim详解本篇主要介绍Linux下文本编辑器vim的使用方法,以及sudo命令的实现。.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

零.前言

本篇主要介绍Linux下文本编辑器vim的使用方法,以及sudo命令的实现。

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
进入后下拉页面,找到这段安装程序:
在这里插入图片描述
将其复制后,在当前用户的文件夹下粘贴,然后直接回车即可,系统会自动安装配置。
注意,当前用户对vim的配置只对当前用户生效,对其他用户是不生效的。

3.vim的三种模式以及切换

注意,本文中shift表示常按。
vim一共有四种模式,分别是命令模式,插入模式,底行模式以及替换模式,替换模式我们尽量当成一种功能去使用,因此这里主要介绍三种模式,已经足够。
当我们直接输入vim时,显示的是当前vim的版本信息:
在这里插入图片描述
我们需要建立一个文件才能打开文件,比如建立一个test.txt文件,然后用vim打开它:

touch test.txt
vim test.txt

在这里插入图片描述
打开后我们会进入一个空白的文本界面。目前我们所处的模式叫做命令模式
如果我们想退出vim就需要先进入底行模式:shift+:。然后再输入q然后回车,即可退出vim。从底行模式进入命令模式可以通过Esc键。
我们发现我们现在是不能写入内容的,需要进入插入模式才能书写内容,此时需要输入i,即进入插入模式。当输入i时,我们发现下面出现了INSERT的字样。
同时我们也可以通过Esc键退出插入模式进入命令模式。
在这里插入图片描述
注意:只有当进入底行模式的时候才能退出vim,如果当前处于插入模式,那么就需要先进入命令模式,再进入底行模式,才能退出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+:才能继续输入指令。
在这里插入图片描述

set nu:调出行号。
set nonu:关闭行号。
vs 文件名:分屏操作
ctrl+ww:光标多屏跳转,光标在哪个文件指令对哪个文件生效。(注意要在命令模式下使用该命令)
w:保存,w!表示强制保存。
q:退出,q!表示强制退出。
wq:保存并退出。wq!表示强制保存并退出。

6.vim添加sudo指令

在root用户下vim在 /etc/sudoers位置处。下面就可以处理如何添加sudo命令了。

vim /etc/sudoers

在这里插入图片描述
打开后在100行,模仿root添加自己的用户名即可,这里我添加的是lhb。表示信任lhb这个用户。
我们就可以使用sudo指令了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年7月26日 下午11:46
下一篇 2022年7月26日 下午11:46


相关推荐

  • git命令删除分支_git删除一个分支

    git命令删除分支_git删除一个分支git命令删除分支应用场景:有时我们已经在gitlab或者gitee上面已经删除分支,但是本地编辑器gitbranch的时候依然有该分支,我们想删除;亦或者想在本地直接删除远程的分支假设,你想删除本地testone分支gitbranch查看本地分支,比如:testonetesttwo两个分支gitcheckouttesttwo切换到testtwo分支,因为你想删除testone执行gitbranch-dtestone即可另外:

    2022年8月31日
    5
  • TCP拥塞控制算法的演进

    TCP拥塞控制算法的演进TCP拥塞控制算法的演进TCP协议仅定义框架,也就是发送端和接收端需要遵循的“规则”。TCP协议的实现经过多年的改进,有了多个不同的版本。比较重要的有Tahoe、Reno、NewReno、SACK、Vegas等,有些已经成为了影响广泛的RFC文档,有些则成为了Unix/Linux操作系统的标准选项。以下简要介绍各个实现版本的主要区别和联系。1 早期的TCP实现最早的

    2022年6月24日
    24
  • 同步队列串行接口QSPI的应用

    同步队列串行接口QSPI的应用原文链接 http www elecfans com emb danpianji 201108032084 html 导读 本文分析了一种改进的 SPI 传输接口 QSPI 的工作机制 并通过 QSPI 模块与触摸屏控制芯片 ADS7843 通信的实例阐述了该模块的典型应用 1QSPI 工作原理 QSPI 模块的结构如图 1 所示 与 SPI 相比 QSPI 结构最大的特点是以 80 字节的 RAM

    2026年3月18日
    2
  • 2019最新PHP模拟面试题及答案「建议收藏」

    2019最新PHP模拟面试题及答案「建议收藏」PHP模拟面试题汇总如下:1.如何防止form表单重复提交?2.Cookie被禁用了session还可以使用吗?3.你了解的或者用过的版本控制工具有哪些?简单说明一下。CVS,SVN,vss,git4.单例模式的优点,如何实现?5.单引号和双引号的区别是什么?(1)双引号可以解析变量,单引号不能解析变量(2)双引号和单引号可以互相嵌套(3)双引号当中的变量可以使用特殊字符分隔…

    2022年8月27日
    6
  • 禁用360浏览器6.2自带的Flash Player

    禁用360浏览器6.2自带的Flash Player360浏览器6.2自带了FlashPlayer,版本为11.6,而我需要使用最新版的FlashPlayer11.9,我安装了最新版的FlashPlayer11.9后,浏览网页时,360浏览器6.2默认使用的是自带的FlashPlayer11.6因此我们必须禁用掉360浏览器自带的FlashPlayer11.6——————————

    2022年6月11日
    48
  • idea20212.3的安装和激活教程破解方法

    idea20212.3的安装和激活教程破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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