Linux编辑器——vim的使用

2023-11-20


前言:Linux上的编辑器有很多,比如nano,vi,vim等。nano是最简单的编辑器,vim编辑器常用于写代码,因为vim的功能强大,写代码快捷方便,其可以主动的用字体颜色辨别语法的正确性。vim用于编写代码,就是一个编辑器。接下来会讲如何使用vim来进行编辑代码,以及vim的一些操作。我下面的图演示都是我自己配好的vim,
大家一上来的vim应该是下图的样子:
在这里插入图片描述
不过莫慌,基本操作都一样,就是配置的太少,在本文中有vim的配置,大家可以跟着操作。或者先看下面的vim配置,自己先配置好vim。


1. vim的三种模式

vim有三种模式:命令模式,插入模式,命令行模式。
以vim一个ly.c,为例子。
在这里插入图片描述
(1)命令模式
一进入vim便是命令模式
在这里插入图片描述
命令行有normal标识。
在这里插入图片描述
你会发现,在命令模式下,你想在编辑器上写东西,是写不上去的。在命令模式下,我们可以更加便捷的去操作一些内容,但是不能往里面输入东西。
命令模式功能:

光标移动
搜索与替换
删除字符,删除整列,
复制整列,黏贴整列

(2)插入模式
在插入模式里,我们可以在编辑器里随意的写入内容,当然也可以控制光标去删除,查找东西,但是比较慢,在命令模式下,有一系列的快捷键方便操作(下面会讲)。
在命令模式下,按i,o,a都可以进入到插入模式中,并且在插入模式下按esc也可以回到命令模式。
一,在命令模式下,进入插入模式,按i即可
进入插入模式,写了一段简单代码。
在这里插入图片描述
命令行中有insert标识。
在这里插入图片描述
插入模式功能:

以插入或者替换来编辑文件内容

(3)命令行模式
想要切换到命令行模式,必须从命令模式切换,插入模式也必须从命令模式切入。这就是乌龟的屁股,(龟腚)规定。进入命令模式后,按ctrl + :,就进入了命令行模式。
在这里插入图片描述
命令行处有command标识,
在这里插入图片描述
在冒号后输入w是保存,输入q是退出。也可以输入wq,即为保存并退出。在其之后加上,是强制的意思。
命令行模式功能:

读取/存储文件其它额外功能

(4)总结
模式的切换必须从命令模式开始,无脑按esc就能回到命令模式。
在这里插入图片描述

2. vim的基本操作

了解vim的三种模式后,我们来进行vim的一些操作,很多大佬都用vim来开发,为什么用vim,必定有它的妙处,学习接下来的操作,可以让我们更加熟练的掌握vim。
(1)命令模式下的操作
一,光标移动

  • 移动一个字符
    h(←)向左移动。j(⬇)向下移动。k(↑)向上移动。l(→)向右移动。
  • 按单词移动
    w/b 向后/向前以单词为单位移动。
  • 回到一行的尾部,头部
    shift+^回到头部,shift+$回到尾部。
  • 以行为单位移动
    gg回到开头行
    n+gg(n+shift+g)回到第n行
    shift+g 回到最后一行

二,查找和替换

  • 查找一个字符串(名称)
    /名称 或者?名称,都会高亮的形式标出找到的名称
  • 替换字符串
    r:替换一个字符,也可以用nr可以替换n个字符。
    ctrl+r进入替换模式,可以替换多个字符。
  • 快速切换大小写
    shift+~,可以完成切换大小写的操作。

三,删除,复制,粘贴,剪切

  • 删除一个字符,或者多个
    x向后删除一个字符,X向前删除一个字符,删除n个就是nx或者nX。
  • 删除一行或者n行
    dd删除当前行,ndd删除n行
  • 复制一行以及n行
    yy复制当前行,nyy复制当前行以及之下的n-1行
  • 黏贴
    p黏贴一次,np黏贴n次,p为在光标后一行黏贴。P为在光标前一行黏贴,其余和p一样。
  • 剪切
    剪切是删除和黏贴集合,也就是说:在x/X或者dd后,按下p/P就会黏贴删除的内容。这就是剪切。
    (2)插入模式的操作
    上文说过从命令模式进入插入模式常按i,a,o;
    下图是具体的解释,标明了其中的区别。
    在这里插入图片描述
    (3)命令行模式
    命令行模式可以有很多操作,比如保存内容,退出vim,设置行号,多屏工作等
  • 设置行号/取消行号
    输入set nu设置行号,set nonu取消行号
  • 保存文件
    输入w
  • 退出vim
    输入q
  • 强制性操作
    输入!
  • 多屏操作
    vs +文件名,这样就又开了个窗口来操作,如果不加文件名,那么默认为此文件的复印件。
    按住cltrl+w+w可以完成窗口间光标的切换,光标在哪,哪里就是工作平台,并且也只能退出光标所在的平台。

3. vim的配置

每个用户都有自己的vim配置,并且设置后的vim也只会影响自己,即使是root配置的vim也是只影响自己。
配置自己的vim其实不容易,这里提供两种方法,一种是自己配置;另一种是在网上安装现成的。
(1)自己配置
一,来到用户目录创建 .vimrc文件
在这里插入图片描述
在这里插入图片描述
二,vim进入 .vimrc文件
在这里插入图片描述
在 .vimrc 中输入自己想配置的东西,比如上面写的set nu就是配置行号。想配置什么在里面写入就好了,具体大家自己在网上查阅。

(2)从网上下载
目前这个只支持Centos7 x86_64版本。
在shell中直接输入:
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
运行时需要root密码,输入成功后,会开始下载。
在这里插入图片描述
大概等个一两分钟,
在这里插入图片描述
可以输入source ~/.bashrc执行或者重启,vim配置就成功了。

卸载这个vim配置
输入bash ~/.VimForCpp/uninstall.sh即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux编辑器——vim的使用 的相关文章

随机推荐

  • 8.全配置自动生成模块前后端

    文章目录 学习资料 配置式开发全新的模块 快速实现 字典管理 代码生成器详细属性设置 全智能模块开发 查询调整 多表连接 药品模块 生产厂家下拉框 学习资料 https www bilibili com video BV13g411Y7GS
  • PageAbility基本概念

    作者 韩茹 公司 程序咖 北京 科技有限公司 鸿蒙巴士专栏作家 一 Page与AbilitySlice Page Page模板 以下简称 Page 是FA唯一支持的模板 用于提供与用户交互的能力 一个Page可以由一个或多个AbilityS
  • QtWebassembly中文显示支持

    Qt Webassembly中文显示支持 由于webassembly是运行在wasm虚拟环境中的 因此是无法直接访问当前系统字体 如果需要提供中文或其它字体支持需要将字体文件作为资源与应用一起编译打包到wasm中 并在应用中主动加载字体资源
  • HTML5学习(三):布局标签、列表、超链接和id

    1 布局标签 header表示网页的头部 页眉 main表示网页的主体部分 一个页面中只会有一个main footer表示网页的底部 页脚 nav表示网页中的导航 aside和主体相关的其他内容 侧边栏 article表示一个独立的文章 s
  • Linux系统上Hadoop的配置

    目录 1 免密登录 2 设置java安装的根目录 3 hadoop参数配置 hadoop地址配置 1 免密登录 cd ssh ls ssh keygen t rsa P f ssh id rsa ls 多了两个文件 id rsa id rs
  • 杭电ACM 1004题

    原题大概意思就是统计输入字符串中 重复的最大个数 import java util Scanner public class Main public static void main String args Scanner sc new S
  • C++ Primer 第五版 电子书(英文)pdf下载

    C Primer 第五版 电子书 英文 pdf下载下载链接 https pan baidu com s 13BQ93O0g8QaNq4ultcxhKA 提取码获取方式 关注下面微信公众号 回复关键字 1169
  • Tensorflow 机器翻译NMT笔记 1 快速上手

    开始 首先 这篇博客基本基于 https github com tensorflow nmt 的内容来的 作为个人学习的笔记 也当做一个博客内容分享 顺序和Github上的顺序有一些区别 注意咯 首先 这里讲的是一个基于Seq2Seq实现的
  • Python 正则表达式指南

    文章目录 1 正则表达式基础 1 1 简单介绍 1 2 数量词的贪婪模式与非贪婪模式 1 3 反斜杠的困扰 1 4 匹配模式 2 re模块 2 1 开始使用re 2 2 Match 2 3 Pattern 1 正则表达式基础 1 1 简单介
  • Vue2基础框架(js)

    快捷方式 vba div div
  • IO相关-这一篇全了解

    什么是比特 什么是字节 什么是字符 它们长度是多少 各有什么区别 解 Bit最小的二进制单位 是计算机的操作部分 取值0或者1 Byte是计算机操作数据的最小单位由8位bit组成 取值 128 127 Char是用户的可读写的最小单位 在J
  • 由一个多线程共享Integer类变量问题引起的。。。

    假设并发环境下 业务代码中存在一些统计操作 为了保证线程安全 开发人员往往会对计数值进行加锁 synchronized 值得注意的是 直接对Integer类型进行加锁 似乎并不会达到预期效果 比如下面这段代码 Integer num new
  • java 视频压缩

    原文链接 https blog csdn net SeniorShen article details 113246990 1 引入依赖
  • C++拷贝构造函数的使用:创建类Dog 成员变量name age 。完成该类的定义,该类包含构造函数,拷贝构造函数 析构函数

    创建类Dog 成员变量name age 大家完成该类的定义 该类包含构造函数 拷贝构造函数 析构函数 拷贝构造函数的作用 拷贝构造函数作用就是利用该类的一个对象是初始化另一个该类的对象 换句话说就是 拷贝构造函数的作用 通过一个对象对该类的
  • 使用ADB命令来测试Android手机App的耗电量

    1 使用WiFi连接手机 先使用USB数据线连接手机和电脑 手机和电脑连接同一个WiFi 启动端口服务 adb tcpip 5555 5555为端口号 可以自由指定 打印 restarting in TCP mode port 5555 表
  • 如何用Stata完成(shui)一篇经济学论文(十一):分组和去重

    文章目录 分组 去重 不出意外的话 这应该是stata有关数据处理的最后一篇 emmm 其实我一开始只打算写数据处理部分的stata教程 因为我觉得对于我来说 数据处理才是最头疼的部分 不过关于后面回归 还是有些东西想跟大家分享一下 开始挖
  • Halcon直线检测

    1 Halcon最常用的直线检测算子 add metrology object line measure 利用Halcon封装好的模型不仅可以检测直线 还可以检测圆 椭圆 矩形等 下面介绍下其余的直线检测的算子 需要配合 skeleton
  • CentOS7安装postgresql

    目录 1 安装postgresql 2 postgresql基本使用 常用启停命令 常用配置文件 常用postgresql命令 官网地址 https www postgresql org 1 安装postgresql 1 1 进入官网 点击
  • 两点。。。等来金蝶中间件的面试通知

    晚上笔试 说是大约一点通知 等到十二点 困了 上床 睡不着啊 1点半翻起来 打开手机 没有 打开Gmail 没有 于是抽了支烟 等到两点多一点 手机响了 接到面试通知 下午一点 石头终于落地 因为上午还有一场网易游戏的笔试 担心冲突 还好
  • Linux编辑器——vim的使用

    文章目录 1 vim的三种模式 2 vim的基本操作 3 vim的配置 前言 Linux上的编辑器有很多 比如nano vi vim等 nano是最简单的编辑器 vim编辑器常用于写代码 因为vim的功能强大 写代码快捷方便 其可以主动的用