Linux:vim的相关知识

 

目录

vim 是一个较为常见的编译文件的命令操作。

三种模式的区分的作用如下:

命令模式:

插入模式:

进入插入模式的标志:左下角有INSERT

底行模式:

命令模式的常见命令: 

 底行模式常见命令:

 注意事项:vim的临时文件

sudoers的配置

 如何在sudoers配置文件中添加个人用户?

1、变身超级用户root

2、 使用vim打开sudoers,并使用底行命令 set nu 打开行号

3、摁下j 进行向下翻找,查询大概第100行的命令,使用 yy 进行复制 随后使用p 进行粘贴,在之后进入插入模式。,将root修改为自己的用户名

 4、最后esc : wq !

vim的配置 

例如:

配置 set nu前:

配置set nu 后: 

vim 是一个较为常见的编译文件的命令操作。

  • 在vim中,最为常见的有三种模式,分别是:命令模式(command mode)、插 入模式(Insert mode)和底行模式(last line mode)

三种模式的区分的作用如下:

命令模式:

vim的核心模式,使用vim进入文件编辑时的最初模式,在该模式中只能移动光标和使用命令对文件内容进行编辑

插入模式:

在进入vim后,使用进入插入模式,插入模式就是vim的编辑模式,可以在vim中进行内容的编辑和修改

进入插入模式的标志:左下角有INSERT

底行模式:

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模 式。

命令模式的常见命令: 

在命令模式下,需要的是命令和光标之间的配合!

yy  复制当前行
p 粘贴,当前光标的下一行
u 撤销 ,是撤销操作,例如撤销上一次的操作或者撤销下一次的操作//n表示数字
n + yy   复制下面n行的内容
n + p    粘贴n行的内容
n + u    撤销n次操作dd  剪切操作或者删除操作
n + dd   剪切或者删除n行内容  //如果是剪切操作需要p命令的配合shift + 4 将光标移动到当前行的结尾位置shift +6  将光标移动到当前行的开头位置gg 将光标移动到整个文本的开头位置shift + g 将光标移动到整个文本的最后一行n + shift + g  将光标移动到文本的第n行位置h 光标左移动
j 光标下移动
k 光标上移动
l 光标右移动
// hjkl也可以使用n 表示向某个方向移动n次w 以单词为单位进行光标的后移
b 以单词为单位进行光标的前移shift + ` 大小写迅速的切换n + x 删除光标后面的一个字符 可以一次性删除n个
n + shift + x 删除光标前面一个字符   可以一次性删除n个n + r 光标指定的位置,进行字符的替换,可以一次替换多个
shift + r 进入替换模式,可以进行文本的替换//连续按两次z  
shifit + z z  保存并退出

需要注意的的是 shift + z z 是暂停vim 的使用命令

 底行模式常见命令:

w 表示保存
q 表示退出
!表示强制
wq 保存并退出
wq! 强制保存并退出
set nu 文本内容的显示行号! 命令  表示不用退出vim 可以在vim内直接进入shell的命令执行
常见的: !gcc 表示在底行模式中进行gcc的命令  又或者 !ls -l 表示在底行模式中查看文件的内容属性vs 文件名字  表示进行文件的分配操作

如下图所示,就是在vim编辑test.c的模式下,使用了底行模式命令 vs test.h 使得分配出了一个test.h文件 

 注意事项:vim的临时文件

  •  vim 会保存临时文件,在出现意外的时候vim会保存临时文件,同时再次编辑时会跳出临时文件的镗床,所以我们要删除临时文件,就行了,举例子:test.c 的临时文件是. test.c.swp
  • 文件内容的代码的快速注释方法和批量去除注释的快捷方法:
  •  标示注释:ctrl +v ,hjkl进行区域的选择,j 快速的选择需要标注的行,shift +i 进入插入模式,//进行注释,esc esc 退出
  • 去除注释:ctrl +v ,hjkl进行区域的选择,选择仅仅包含//的行,然后d
  • ctrl +v 进入的模式 

 

sudoers的配置

 如何在sudoers配置文件中添加个人用户?

  • sudoers的文件信息:

  •  操作如下:

1、变身超级用户root

2、 使用vim打开sudoers,并使用底行命令 set nu 打开行号

3、摁下j 进行向下翻找,查询大概第100行的命令,使用 yy 进行复制 随后使用p 进行粘贴,在之后进入插入模式。,将root修改为自己的用户名

 

 4、最后esc : wq !

vim的配置 

  • 配置文件的位置 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
  • 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。
  • 例如,/root目录下, 通常已经存在一个.vimrc文件,如果不存在,则创建之。 切
  • 换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~ 打开自己目录下的.vimrc文件,执行 vim .vimrc 

当然,对于vim的配置,建议是每一个用户都在自己的用户目录下建立一个.vimarc的文件,进行属于自己的vim的配置

 而进行配置也十分的简单,在用户目录下建立好.vimrc文件后,直接使用vim 进入该文件,随后在文件中输入vim配置的常用命令。

例如:
  • 设置语法高亮: syntax on
  • 显示行号: set nu
  • 设置缩进的空格数为4: set shiftwidth=4

在.vimrc 中输入set nu  (.vimrc中一开始就是空的!)

配置 set nu前:

配置set nu 后: 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/642631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初识k8s(概述、原理、安装)

文章目录 概述由来主要功能 K8S架构架构图组件说明ClusterMasterNodekubectl 组件处理流程 K8S概念组成PodPod控制器ReplicationController(副本控制器)ReplicaSet (副本集)DeploymentStatefulSet (有状态副本集&#…

借助GPT,我是如何帮同事秒解bug

背景 昨天晚上8点多,正准备下班 同事突然跑过来,问我:为什么用aws命令行下载的数据可以正常下载,但是我用Go写的,怎么下载不下来 看他抓耳挠腮,然后又说困扰了很久 我心想这么简单的问题,额。。…

系统性学习vue-vue-router

vue-router 路由的简介SPA路由 路由的基本使用安装引入使用标签式编程式 注意 嵌套(多级)路由路由传参query参数params参数 命名路由路由的props配置router-link的replace属性编程式路由导航路由跳转后退和前进 缓存路由组件两个新的生命周期钩子函数路由守卫全局前置守卫全局后…

让二叉树无处可逃

志不立,天下无可成之事。 ——王阳明 二叉树 1、树?什么是树1、1、基本概念1、2、树的相关概念1、3、树的表示方式1、4、树的实际运用 2、二叉树?只有两个分支吗?2、1、基本概念2、2、二叉树的相关定义2、3、二叉树的相关性质2、4…

C++: vector

目录 1.vector的介绍 2.vector常用的接口 1.vector构造 2.迭代器iterator的使用 3.vector空间增长 4.vector的增删改查 3.vector模拟实现 如果在reverse时使用memcpy会怎么样? 1.vector的介绍 C中的vector是一个动态数组容器,可以存储任意类型的…

simulink限幅模块-Saturation

限幅模块 限幅模块(Saturation)对输出值施加了上下限约束。当输出值超过上限时,限定于上限值输出;当输出值低于下限时,限定于下限值输出;在上下限之间时,保持原输出。Saturation模块默认包含一…

网络安全--防御保护02

第二天重要的一个点是区域这个概念 防火墙的主要职责在于控制和防护---安全策略---防火墙可以根据安全策略来抓取流量之后做出对应的动作 防火墙的分类: 单一主机防火墙:专门有设备作为防火墙 路由集成:核心设备,可流量转发 分…

为什么单片机不能直接驱动继电器和电磁阀?

为什么单片机不能直接驱动继电器和电磁阀? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!&…

vue3源码(一)搭建开发环境

Monorepo:是管理项目代码的一个方式,指在一个项目仓库(repo)中管理多个模块/包(package) vue3源码采用Monorepo管理项目 vue3项目架构 搭建Monorepo环境 1.全局安装pnpm npm install pnpm -g # 全局安装pnpm pnpm init -y # 初始化配置文件创建.npmrc文件&#x…

Docker基础语法

目录 一.docker安装 二.docker基础名词 三.docker基础命令 四.命令别名 五.数据卷 六.挂载本地目录或文件 七.Docker镜像 八.网络 一.docker安装 1.安装yum工具 yum install -y yum-utils device-mapper-persistent-data lvm2 2.安装 docker yum源 yum-config-manag…

EXECL 单元格字符串链接 CONCAT :应用:将一行数据转为json

源: 目标 函数表示 CONCAT("data", CHAR(10), "{", CHAR(10), " ", "ulAlarmId : ", A5, CHAR(10), " ", "ulAlarmLevel : ", D5, CHAR(10)," ", "bBo…

JavaEE-微服务-Vuex

Vuex 2.1 什么是Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。 Vuex在组件之间共享数据。 2.2 使用 vue cli 构建项目 2.3 入门案例 2.3.1 定义数据 export default new Vuex.Store({state: { // 状态区域(定义变量区域)user: ,toke…

Ubuntu Desktop 隐藏 / 显示文件和文件夹

Ubuntu Desktop 隐藏 / 显示文件和文件夹 1. GUI hot key2. Show hidden and backup filesReferences 1. GUI hot key Ctrl H: 隐藏 / 显示文件和文件夹 2. Show hidden and backup files Edit -> Preferences -> Views References [1] Yongqiang Cheng, https://yo…

梳理Langchain-Chatchat知识库API接口

一.Langchain-Chatchat 知识库管理 1.Langchain-Chatchat 对话和知识库管理界面 Langchain-Chatchat v0.28 完整的界面截图,如下所示: 2.知识库中源文件和向量库 知识库 test 中源文件和向量库的位置,如下所示: 3.知识库表结构 k…

一夜暴增200城,智驾开城秘诀在哪?小鹏、理想、大疆等各有不同

作者 |Marshall 编辑 |祥威 一夜过后,城市NOA可用范围突然增至两百多城市,这是最近小鹏的智驾给大家的印象。 我们曾在「特斯拉、小鹏开路,城市NOA距好用还有几年?」一文中,探讨了城市NOA落地过程中所面临的地图问题…

vue3-组件基础

什么是组件 组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行处理。在实际应用中,组件常常被组织成层层嵌套的树状结构。 定义一个组件 我们一般会将 Vue 组件定义在一个单独的 .vue 文件中,这被叫做单文件组件 (简称…

TypeScript 实用技巧(中)

十四、向类型添加特殊值 原文:exploringjs.com/tackling-ts/ch_special-values.html 译者:飞龙 协议:CC BY-NC-SA 4.0 14.1 在带内添加特殊值 14.1.1 向类型添加 null 或 undefined 14.1.2 向类型添加符号 14.2 在带外添加特殊值 14.2…

[亲测有效]CentOS7下安装mysql5.7

前言 近期项目需要搭配mysql一起存储相关数据,但对mysql的版本有要求,于是在服务器搭建了mysql5.7,顺便记录一下搭建步骤和踩坑解决步骤。 目录 前言 一、清除旧安装包 二、安装YUM 三、使用yum命令即可完成安装 四、重新设置密码 五、…

文心一言 v.s. ChatGPT:多角度对比测评“追赶者”能否超越?

ChatGPT自发布以来就引发了关注热潮,如今国内大模型的发展也是如火如荼、百花齐放:比如百度的文心一言、阿里的通义千问、讯飞的星火大模型等等,那么作为后起之秀的国内大模型与ChatGPT相比哪个更好用呢?“追赶者”能否实现超越&a…

使用Unity创建VisionPro应用

1、下载特定Unity版本 Unity账号需要是Pro账号,普通账号不行,目前只支持这1个Unity版本,不要下载任何其它版本:unityhub://2022.3.11f1/d00248457e15) 其它条件:使用Mac电脑M系列芯片,XCode15 Beta2及以上 参考资料: 苹果官网:苹果官网 Unity官网:Unity官网 官方教程…