Linux:vim的相关知识

news/2024/7/21 13:36:44 标签: linux, vim, 运维, vim配置, sudoers配置

 

目录

vim%20%E6%98%AF%E4%B8%80%E4%B8%AA%E8%BE%83%E4%B8%BA%E5%B8%B8%E8%A7%81%E7%9A%84%E7%BC%96%E8%AF%91%E6%96%87%E4%BB%B6%E7%9A%84%E5%91%BD%E4%BB%A4%E6%93%8D%E4%BD%9C%E3%80%82-toc" style="margin-left:0px;">vim 是一个较为常见的编译文件的命令操作。

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

命令模式:

插入模式:

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

底行模式:

命令模式的常见命令: 

 底行模式常见命令:

vim%E7%9A%84%E4%B8%B4%E6%97%B6%E6%96%87%E4%BB%B6-toc" style="margin-left:40px;"> 注意事项:vim的临时文件

sudoers的配置

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

1、变身超级用户root

vim%E6%89%93%E5%BC%80sudoers%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E5%BA%95%E8%A1%8C%E5%91%BD%E4%BB%A4%20set%C2%A0nu%20%E6%89%93%E5%BC%80%E8%A1%8C%E5%8F%B7-toc" style="margin-left:80px;">2、 使用vim打开sudoers,并使用底行命令 set nu 打开行号

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

 4、最后esc : wq !

vim%E7%9A%84%E9%85%8D%E7%BD%AE%C2%A0-toc" style="margin-left:0px;">vim的配置 

例如:

配置 set nu前:

配置set nu 后: 

vim%20%E6%98%AF%E4%B8%80%E4%B8%AA%E8%BE%83%E4%B8%BA%E5%B8%B8%E8%A7%81%E7%9A%84%E7%BC%96%E8%AF%91%E6%96%87%E4%BB%B6%E7%9A%84%E5%91%BD%E4%BB%A4%E6%93%8D%E4%BD%9C%E3%80%82">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%E7%9A%84%E4%B8%B4%E6%97%B6%E6%96%87%E4%BB%B6"> 注意事项: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

vim%E6%89%93%E5%BC%80sudoers%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E5%BA%95%E8%A1%8C%E5%91%BD%E4%BB%A4%20set%C2%A0nu%20%E6%89%93%E5%BC%80%E8%A1%8C%E5%8F%B7">2、 使用vim打开sudoers,并使用底行命令 set nu 打开行号

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

 

 4、最后esc : wq !

vim%E7%9A%84%E9%85%8D%E7%BD%AE%C2%A0">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.niftyadmin.cn/n/5342322.html

相关文章

langchain中的Document类

在Langchain-Chatchat的上传文档接口(upload_docs)中有个自定义的docs字段,用到了Document类。根据发现指的是from langchain.docstore.document import Document。本文简要对Document类进行介绍。 1.上传文档接口upload_docs def upload_d…

关于使用jdk8自带的日期类getDayOfWeek()的详细解释

问题引入 我们会发现getDayOfWeek()这个函数和其他自带函数不一样 直接写会报错 但是如果我们将他变成getDayOfWeek().getValue() 又能够正常运行,我们这次就来看看是为什么 解释 进入getDayOfWeek()源码查看 我们进入getDayOfWeek()的源码中查看 我们可以发现他给我们返回的…

状态空间模型(SSM)是近来一种备受关注的 Transformer 替代技术

状态空间模型(SSM)是近来一种备受关注的 Transformer 替代技术,其优势是能在长上下文任务上实现线性时间的推理、并行化训练和强大的性能。而基于选择性 SSM 和硬件感知型设计的 Mamba 更是表现出色,成为了基于注意力的 Transform…

qt学习:json数据文件读取写入

目录 什么是json 基本格式 例子 解析json文件数据到界面上 组合json数据文档对象 什么是json json是一种轻量级的数据交互格式,简单来说,json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互 基本格式 以…

【华为 ICT HCIA eNSP 习题汇总】——题目集6

1、IEEE 802.11g 标准支持的最大协商速率为()。 A、300Mbps B、150Mbps C、54Mbps D、1200Mbps 考点:无线局域网 解析:(C) IEEE 802.11系列标准如下表: 标准数据传输速率主要技术IEEE 802.111M…

React三大属性

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 知…

php:规范小数位数,例:10.00展示为10,10.98展示为10.98

代码 <?php$value 10.98; // 原始的双精度类型值if ($value floor($value)) {$formattedValue number_format($value, 0); // 10.00 转换为 10echo $formattedValue;} else {$formattedValue number_format($value, 2); // 10.98 保持为 10.98echo $formattedValue;} …

WPF多值转换器

背景&#xff1a;实现Slider拖动可以调整rgb 单转换器&#xff1a;WPF中数据绑定转换器Converter-CSDN博客 在View中&#xff1a; <StackPanel Orientation"Vertical"><Slider x:Name"slider_R" Minimum"0" Maximum"255" Wi…