Linux---vim的使用

专栏:Linux
个人主页:HaiFan.
本章为大家带来Linux工具—vim

Linux工具

  • 关于rzsz
  • yum
  • vim的基本概念
  • vim的基本操作
  • vim正常模式命令集
  • vim末行模式命令集
  • 简单vim配置
    • 配置文件的位置
    • 常用配置选项

关于rzsz

这个工具用于windows机器和Linux机器通过Xshell传输文件,安装完毕之后可以通过拖拽方式将文件上传过去。

可以通过拖拽的方式,将windows中的文件传到Linux中

通过输入 sz 文件的方式,可以将Linux中的文件上传到windows中。

在这里插入图片描述

yum

要在Linux上下载东西,可以通过yum指令,它可以自动下载、安装和升级软件包,还可以自动解决依赖关系。使用yum可以很方便地管理Linux系统上的软件包。

使用的时候要是root用户或者在普通用户下输入指令前加上sudo进行提权。

在这里插入图片描述

直到最后出现complete,表示下载 完成。

卸载的话就是 yum remove 要卸载的软件的名字

vim的基本概念

vim的三种模式(有很多模式,暂时只掌握三种即可),1. 命令模式(command mode)2. 插入模式(insert mode) 3. 底行模式(last line mode),

  • 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符,字或行的删除,也可以复制某段内容

  • 插入模式(insert mode)

只有在insert mode下,才可以做文字输入

  • 末行模式(last line mode)

文件保存或者退出,也可以进行文件替换,查找字符串,列出行号等操作

vim的基本操作

  • 进入vim:vim 后跟文件名,然后就会进入vim全屏编辑的画面

如 vim test.c

在进入文件的时候,是默认处于正常模式,要切换到插入模式后才能正常输入内容

  • 正常模式切换为插入模式

输入a

输入i

输入o

  • 插入模式切换为正常模式

当处于插入模式,就只能一直输入文字,按esc键,也就是键盘左上角的那一个,可以回到正常模式

  • 正常模式切换为末行模式

shift + ;也就是:

  • 退出vim及保存文件,在正常模式下,按一下:进入last line mode

:w —保存当前文件

:wq—保存并退出

:q—退出但不保存

:q!—强制退出并不保存输入的内容

:wq!—强制退出并保存内容

vim正常模式命令集

  • 插入模式

    按i进入插入模式,按i进入插入模式后是从光标当前位置开始输入内容

    按a进入插入模式后,是从目前光标所在位置的下一个位置开始输入内容

    按0进入插入模式后,是插入新的一行,从行首开始输入文字

  • 移动光标

vim可以直接用键盘上的光标来上下左右移动

按「G」:移动到文章的最后

按「 $ 」:移动到光标所在行的“行尾”

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置

按[gg]:进入到文本开始

按[shift+g]:进入文本末端

按「ctrl」+「b」:屏幕往“后”移动一页

按「ctrl」+「f」:屏幕往“前”移动一页

按「ctrl」+「u」:屏幕往“后”移动半页

按「ctrl」+「d」:屏幕往“前”移动半页

  • 删除文字

「x」:每按一次,删除光标所在位置的一个字符

「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符

「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符

「dd」:删除光标所在行

「#dd」:从光标所在行开始删除#行

  • 复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

「#yw」:复制#个字到缓冲区

「yy」:复制光标所在行到缓冲区。

「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完
成复制与粘贴功能。

  • 替换

「r」:替换光标所在处的字符。

「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

  • 撤销上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回
复。

「ctrl + r」: 撤销的恢复

  • 更改

「cw」:更改光标所在处的字到字尾处

「c#w」:例如,「c3w」表示更改3个字

  • 跳至指定的行

「ctrl」+「g」列出光标所在行的行号。

「#G」:例如,「15G」,表示移动光标至文章的第15行行首

vim末行模式命令集

  • 列出行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号

  • 跳转到文件中的某一行

:+数字:先输入一个:在输入数字,按回车,就会跳到改行

  • 查找字符

/+关键字:先按/在输入要查找的字符

简单vim配置

直接vim hello.cpp 之后,会出现一个黑框框,没有行号的显示,没有语法高亮,缩进也没有,写代码的时候就很难受。

Linux可以配置vim

配置文件的位置

在目录etc下面,有个名为 .vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。

而在每个用户的主目录下,都可以建立自己的私有配置文件,只在自己的用户下生效,不会影响到其他用户,命名为: .vimrc

然后执行 vim .vimrc

常用配置选项

  • 语法高亮:syntax on
  • 显示行号:set nu
  • 设置缩进的空格数为2:set shiftwidth=4
  • 高亮当前行:set cursorline
  • 等等

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PHP伪协议filter详解,php://filter协议过滤器

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 php://filter 一、访问数据流二、过滤数据流三、多…

electron 快速创建一个本地应用

参考官方文档流程 快速入门 | Electron 建议先全局安装electron,npm install -g electron 开发过程中可以在本地开发安装 使用electron快速创建一个web页面 ,参考官方demo 实例 electron-quick-start 第一步: mkdir my-electron-app &am…

Linux

Linux 摘要写在前面1.Linux介绍2.Linux基本概念与命令3.Shell编程4.桌面操作系统框架5.GTK图形编程6.QT图形编程7.DBUS8.GDB9.Wine开发10.高可用存储技术11.高可用网络技术12.云计算 摘要 本篇博客参考中科方德国产操作系统的培训课程,对其主要内容进行总结&#x…

超越密码:网络安全认证的未来

你的物理现实的数字对应物正在惊人地增长。虽然肯定会有积极的结果,但随着互联网的发展,与之相关的风险也在迅速增加。在讨论网络安全风险管理时,首先想到的是密码。但当出现诈骗、网络钓鱼等威胁时,这还不够。 那么,…

大数据分析与机器学习:技术深度与实例解析【上进小菜猪大数据系列】

上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 大数据分析与机器学习已成为当今商业决策和科学研究中的关键组成部分。本文将深入探讨大数据技术的背景和原则,并结合实例介绍一些常见的大数据分析和机器学习技术。 …

Redux的基础操作和思想

什么是Redux? Redux是JavaScript应用的状态容器,提供可预测的状态管理! Redux除了和React一起用外,还支持其它框架;它体小精悍(只有2kB, 包括依赖),却有很强大的插件扩展生态! Redux提供的模式和工具使您更容易理解应用程序中的…

与用户同行!2023卡萨帝开启高端生活方式新时代

6月20日,2023思享荟暨卡萨帝品牌升级发布会在重庆国际博览中心举行。在经历了高端产品引领、高端品牌引领、高端场景引领后,卡萨帝启动全新品牌升级,持续与用户同行,开启高端生活方式引领的新时代。 现场,海尔智家副总…

量化交易:止盈策略与回测

我们买基金或股票的时候通常用最简单的策略进行决策:低买高卖,跌的多了就加仓拉低持有成本,达到收益率就卖出。 那么如何用代码表示这个策略呢?首先定义交易信号则是:0.5%时买入,目标止盈线是1.5%&#xf…

ELFK日志分析系统并使用Filter对日志数据进行处理

目录 一、 FilebeatELK 部署Filebeat 节点上操作 二、Filtergrok 正则捕获插件内置正则表达式调用自定义表达式调用 mutate 数据修改插件multiline 多行合并插件date 时间处理插件 一、 FilebeatELK 部署 Node1节点(2C/4G):node1/192.168.15…

Django rest framework基本知识

使用pycharm生成Django项目后,会生成工程目录和app目录 工程目录下5个文件,settings.py是全局配置相关的 urls.py是路有相关的 app相关的目录 models.py 数据库ORM对应的模型类 serializers.py 序列化与反序列化处理 views.py 根据request进行…

手工测试没有前途,自动化测试会取代手工测试?

在测试行业,一个一直被讨论的问题就是:手工测试没有前途,自动化测试会取代手工测试? 首先说结论:自动化测试不会取代手工测试,这完全是两个维度的事情。为什么不会呢?我们需要从本源上说起。 什…

DINO-DETR匈牙利匹配与加噪过程学习记录

今天再来回顾一下DINO中匈牙利匹配与损失函数部分,该部分大致与DETR相似,却又略有不同。 为了查看数据方便,博主将num_query改为20,max_select值也为20。 匈牙利匹配过程 首先是数据送入匈牙利匹配中进行标签匹配过程了。 获取…

【Android自动化测试】Ui Automator技术(以对QQ软件自动发说说为例)

文章目录 一、引言二、了解(Android官方文档)1、UiDevice 类2、UI Automator API3、UI Automator 查看器 三、使用1、依赖2、代码 一、引言 描述:UI Automator 是一个界面测试框架,适用于整个系统上以及多个已安装应用间的跨应用…

react---react router 5 基本使用

目录 1.路由介绍 2.路由使用 3.路由组件和一般组件 4.Switch 单一匹配 5.解决二级路由样式丢失的问题 6.路由精准匹配和模糊匹配 7.Redirect路由重定向 1.路由介绍 路由是根据不同的 URL 地址展示不同的内容或页面,在 SPA 应用中,大部分页面结果…

理解Web3公链共识算法的原理与机制

Web3时代带来了去中心化、透明和安全的数字经济发展,而公链的共识算法是实现这一目标的关键。共识算法确保了公链网络中的节点对交易和状态的一致性达成共识,同时防止了恶意行为和双重支付等问题。本文将深入探讨Web3公链共识算法的核心原理与机制。 1.共…

【Uniapp】小程序携带Token请求接口+无感知登录方案2.0

本次改进原文《【Uniapp】小程序携带Token请求接口无感知登录方案》,在实际使用过程中我发现以下bug: 若token恰好在用户访问接口时到期,就会直接查询为空,不反映token过期问题(例如:弹窗显示订单查询记录…

【数据库数据恢复】SQL Server数据表结构损坏的数据恢复案例

数据库故障&分析: SQL server数据库数据无法读取。 经过初检,发现SQL server数据库文件无法被读取的原因是因为底层File Record被截断为0,无法找到文件开头,数据表结构损坏。镜像文件的前面几十M空间和中间一部分空间被覆盖掉…

饶派杯XCTF车联网安全挑战赛Reverse GotYourKey

文章目录 一.程序逻辑分析二.线程2的operate方法解析三.找出真flag 一.程序逻辑分析 onCreate方法中判断SDK版本是否>27 然后创建两个线程 第一个线程是接受输入的字符串并发送出去 第二个线程用于接受数据 线程1,就是将字符串转为字节数组发送出去 线程2,作为服务端接受…

springboot动态加载json文件

resources下面的配置文件,application文件修改启动会实时加载新的内容 其他的文件属于静态文件,打包后会把文件打入jar里面,修改静态文件启动不会加载新的内容 Resource areacode nre FileSystemResource("config" File.separa…

STM32——07-STM32定时器Timer

定时器介绍 软件定时 缺点:不精确、占用 CPU 资源 void Delay500ms () //11.0592MHz { unsigned char i , j , k ; _nop_ (); i 4 ; j 129 ; k 119 ; do { do { while ( -- k ); } while ( -- j ); } while ( -- i ); } 定时器工…