• Linux下的代码编辑器——vim


    目录

    一 什么是vim

    二 vim的三种模式

    1 三种模式的介绍

    2 三种模式的切换

    3 在各种模式下相关的操作

    ①在命令模式下的各种命令

    ②底行模式下的操作

    三 vim配置


     

    一 什么是vim

    集多种语言和功能于一体的开发环境叫做IDE(集成开发环境),集成编译链接运行调试代码等各种功能。

    但是在linux中,vim就是一个用来编写代码的编辑器。

    其实linux中的编辑器有很多,但是vim它的覆盖率出场率大或者功能都很强大,并且有助于让我们更贴近操作系统,学习c++

    先学习基本的vim打开和关闭。以便于让我们更好地在各种模式下操作。

    打开:在命令行中直接输入vim,对应的出现这样的提示,就说明vim被打开了。

     

    关闭:shift+;,即:。

    二 vim的三种模式

    1 三种模式的介绍

    vim中有三种模式,分别是:命令模式,编辑/插入模式,底行模式。

    命令模式:打开vim默认的模式。主要不是用来编写代码的模式,是在编写代码完成后可以对已有的代码执行各种操作的。

     

    编辑/插入模式:主要就是进行各种代码的编写了。

     

    底行模式:主要是编写完成后保存退出分屏等功能。

     

     

    2 三种模式的切换

    vim默认打开模式是命令模式。会有这样的提示。vim之间模式的切换都要借助到命令模式。

    从命令模式进入到编辑模式,只需要在命令模式下输入i。就会出现相关提示。

    从命令模式进入底行模式,输入:。就会出现这样的提示。

    而各种模式回退到命令模式,只需要输入按下Esc键即可。

    还有一种模式在平时使用的比较少。替换模式:在命令模式中输入r进入替换模式。在输入的时候可以逐字符实现替换。

    3 在各种模式下相关的操作

    ①在命令模式下的各种命令

    a复制黏贴:

     yy复制 p黏贴 np可以指定对应的黏贴数量 nyy也可以复制多行

    b撤销历史操作

    u

    撤销刚才的插销操作 ctrl+r

    在当前文件生命周期有用,如果关闭该文件再重新打开,由于失去了之前操作的环境,无法成功撤销

    c光标操作

    不同行光标移动

    定位到文件的结尾G

    Gg光标定位到文件的最开始

    定位到特定行    n+G

    行内光标的移动

    $-》当行最结尾(shift+4)

    ^-》当行最开始(shift+6)

    由于一行中特殊字符特殊性比较多,因此只能进行左右移动。w,b的话可以以单词为单位前后移动。注意是在英文模式下的。

    光标的上下左右移动

    Hjkl

    h-》←

    j-》↓

    k-》↑

    l-》→

    虽然键盘上的方向键也可以使用。但是后面学到的对应命令,有些会在hjkl的基础上进行操作

    而且hjkl的效率比较高。

    由于老式的键盘没有hjkl,因此基于老式键盘诞生的linux的vim也没有对应的↑↓←→

    d删除 剪切

    光标指向对应行dd。支持ndd

    剪切:dd与p配合使用

    Dd后在想粘贴的位置p

    删除光标所在的字符,按照字符删除

    x-》从左向右

    X-》从右向左

    e大小写切换

    ~

    ②底行模式下的操作

    a行号相关操作

    设置set nu

    取消行号no nu

    b文件保存,vim退出等

    w保存(w!强制保存)

    q退出(强制退出)

    wq保存并退出(wq!强制保存并退出)

    c分屏操作

    打开一个文件,在底行模式下输入vs+对应打开的另一个文件名字

     

    光标在哪一块屏幕,就代表了当前对哪个文件执行操作。

    切换光标:ctrl+ww

    d不退出vim执行相关的操作

    !+对应命令。比如可以查看man手册,执行代码。

     

    三 vim配置

    配置vim

    Vim配置的原理

    创建一个.vimrc的文件,当启动vim的时候,我的vim会读取我的vimrc配置文件。

    以root的身份打开这样的文件,其他会受到权限的约束。最好在当前用户下配置。

    可以在网上找到对应的vim配置代码,拷贝到该文件中,对我的vim进行配置。

     

  • 相关阅读:
    Java自学第8课:电商项目(3) - 重新搭建环境
    分布式并行训练(DP、DDP、DeepSpeed)
    QT 绘画功能的时钟
    Ubuntu 22.04 安装 Docker Engine
    ESP32网络开发实例-异步Web服务器
    微信公众号之语音接口
    web网页设计期末课程大作业——HTML+CSS+JavaScript美食餐饮文化主题网站设计与实现
    【面试题】15个提高Javascript开发技巧
    常用百宝箱——日志处理
    16-JavaSE基础巩固项目:拼图小游戏
  • 原文地址:https://blog.csdn.net/zhengyawen666/article/details/126077582