Linux的奇妙冒险———vim的用法和本地配置

vim的用法和本地配置

  • 一.vim的组成和功能。
    • 1.什么是vim
    • 2.vim的多种模式
  • 二.文本编辑(普通模式)的快捷使用
    • 1.快速复制,粘贴,剪切。
    • 2.撤销,返回上一步操作
    • 3.光标的控制
    • 4.文本快捷变换
    • 5.批量化操作和注释
  • 三.底行模式
  • 四.vim的配置

一.vim的组成和功能。

1.什么是vim

Vim是一款文本编辑器,是Vi的改进版本。它是一个开源软件,可在各种操作系统上运行。Vim具有强大的编辑功能,支持多种编程语言和文件格式,可以通过插件扩展功能。它也具有高度可定制性,用户可以通过配置文件自定义编辑器的行为和外观。Vim是程序员和系统管理员常用的编辑工具之一。

2.vim的多种模式

  • 命令模式(普通模式):在这个模式下,用户可以使用键盘执行各种命令,例如移动光标、复制粘贴、删除文本等。普通模式是默认的模式,用户可以通过按下Esc键进入普通模式。
  • 插入模式(Insert Mode):在这个模式下,用户可以输入文本。用户可以通过按下i、a、o等键进入插入模式,分别表示在当前光标位置插入文本、在当前光标后插入文本、在当前行下方插入新行并切换到插入模式。
  • 底行模式(命令行模式):在这个模式下,用户可以输入各种命令,例如保存文件、退出编辑器、查找替换文本等。用户可以通过按下冒号(:)键进入命令行模式。

二.文本编辑(普通模式)的快捷使用

1.快速复制,粘贴,剪切。

  • yy/n+yy
    复制当前行/复制n当前行以下n行
  • p/n+p
    粘贴所复制的内容/粘贴n次
  • dd/n+dd
    删除指定行/删除n行

2.撤销,返回上一步操作

  • u
    撤销上一步操作
  • ctrl +r
    对历史撤销进行撤销

3.光标的控制

  • shift+4$
    将光标定位到行尾
  • shift+6^
    将光标定位到行首
  • gg
    将光标定位到整个文本首端
  • shift+g
    将光标定位到整个文本末端
  • n+shift+g
    将光标定位到目标n行行首
  • h j k l
    光标向左,下,右,上移动
  • w
    以单词或符号为整体向后移动
  • b
    以单词或符号为整体向前移动

4.文本快捷变换

  • shift+~
    转换字母大小写
  • n+x
    删除光标后的n个字符
  • n+r
    替换光标后的n个字符为指定字符
  • shift+r
    进入文本替换模式,直接替换光标出文本
  • shift+zz
    快速保存并退出

5.批量化操作和注释

首先ctrl+v进入模块化视图,通过h j k l进行区域选中
在这里插入图片描述

然后shift+i进入插入模式,书写//,再按两次esc完成
在这里插入图片描述

三.底行模式

用来在vim状态下直接与shell交互,命令行的命令均可使用,须在最前方加上!

  • !+command
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这样一来可以在vim内部完成编译处理工作。

当然,有几个常见的底行指令:

1:w  保存
2:q 退出
3:wq 保存加退出
4:set nu 打开行号
5:nonu 取消行号
6:vs +文件名  可以分屏处理多个文件如下所示

在这里插入图片描述
在vs分屏处理下,通过ctrl+ww,可以使光标进行切换

四.vim的配置

在每个用户的默认目录里都有一个.vimrc的文件,里便可以自行配置

在这里插入图片描述

这个文件是我个人的配置文件,大家可以通过自己的需求在网上找到合适指令进行配置
通过vim .vimrc进行编辑
在这里插入图片描述

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

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

相关文章

【征服Redis12】redis的主从复制问题

从现在开始,我们来讨论redis集群的问题,在前面我们介绍了RDB和AOF两种同步机制,那你是否考虑过这两个机制有什么用呢?其中的一个重要作用就是为了集群同步设计的。 Redis是一个高性能的键值存储系统,广泛应用于Web应用…

服务器感染了.wis[[Rast@airmail.cc]].wis勒索病毒,如何确保数据文件完整恢复?

导言: 在当今数字化的时代,恶意软件攻击已经变得越来越复杂和狡猾,[[MyFilewaifu.club]].wis [[backupwaifu.club]].wis[[Rastairmail.cc]].wis勒索病毒是其中的一种新威胁。本文91数据恢复将深入介绍[[MyFilewaifu.club]].wis [[backupwaif…

Dify学习笔记-基础介绍(一)

1、简介 Dify AI是一款强大的LLMOps(Language Model Operations)平台,专为用户提供便捷的人工智能应用程序开发体验。 该平台支持GPT系列模型和其他模型,适用于各种团队,无论是用于内部还是外部的AI应用程序开发。 它…

基于springboot+vue的美容院管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究背景…

JAVA用Zxing生成的二维码扫码桩识别出现\000026

使用Zxing生成的二维码,扫码桩扫描偶先扫描出\000026 文章目录 [TOC](文章目录) 前言一、出现原因分析二、解决方式三、iso ECI 字符集编码说明 前言 Hutool QrCodeUtil(底层Zxing) 生成二维码扫码桩扫描二维码 出现类似:"\…

react18介绍

改进已有属性,如自动批量处理【setState】、改进Suspense、组件返回undefined不再报错等 支持Concurrent模式,带来新的API,如useTransition、useDeferredValue等 如何升级React 18 npm install reactlatest react-domlatestnpm install ty…

python pip安装包时,出现 WARNING: Ignoring invalid distributio xxxx,解决办法

pip安装包时,出现 WARNING: Ignoring invalid distributio xxxx,解决办法 遇到的问题,如图 这个问题其实就是python环境下的包无效了,找到WARNING: Ignoring invalid distributio xxxx后面对应的路径,删除对应的~XXXX…

Android开发--状态栏布局隐藏的方法

1.问题如下,安卓布局很不协调 2.先将ActionBar设置为NoActionBar 先打开styles.xml 3.使用工具类 package com.afison.newfault.utils;import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graph…

TortoiseSVN源码安装与迁移全攻略

一、前言 随着版本控制系统的普及,越来越多的开发者和团队开始使用SVN(Subversion)来管理代码。本文将详细介绍TortoiseSVN的源码安装及迁移过程,帮助您轻松掌握这一版本控制工具。 二、TortoiseSVN源码安装 依赖环境安装&…

Window安装Python和开发Pycharm

准备: 1:安装Python环境 https://www.python.org/downloads/windows/ 2: 下载Pycharm https://www.jetbrains.com/pycharm/download/other.html

快速排序

快速排序 概况步骤代码示例输出结果 要想学习快速排序,前提必须了解 递归算法 概况 快速排序是一种高效的排序算法,它采用了分治的策略。 基本思想是选择一个基准数,通过一趟排序将待排序序列划分成两个子序列,其中一个子序列的…

乔迁新居发言

亲爱的家人们,大家好! 非常感谢大家在百忙之中抽出宝贵的时间来到这里为我们的新居增添福气。我代表我和田小帆对大家的到来表示热烈的欢迎和衷心的感谢。 在这个特殊的时刻,我对我们小家庭建设过程中帮助我们的所有亲人、朋友和同学们表示由…

大模型实战营Day6 笔记

本期主题为: 为何测评,因场景众多,需要统一的标准: 评测的意义: 传统NLP的一些评测需要: 到了大模型时代,需要评测的就更多了: 客观评测: 有些主观题可以用模型评价…

Shell脚本的条件语句-------if语句与case语句

目录 一、if语句 1、bash的配置文件 2、单分支结构 3、双分支结构 4、多分支结构 ①单分支应用举例:写一个脚本检查80端口是否开启,如果开启则反馈http正在运行,否则启动httpd服务 ②多分支应用例子:90-100 是优秀 70-89…

FlinkAPI开发之状态管理

案例用到的测试数据请参考文章: Flink自定义Source模拟数据流 原文链接:https://blog.csdn.net/m0_52606060/article/details/135436048 Flink中的状态 概述 有状态的算子 状态的分类 托管状态(Managed State)和原始状态&…

springboot123基于springboot框架的网上商城系统的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的基于springboot框架的网上商城系统的设计与实现 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看…

centos7.9安装redmine5.1.1

前提: 安装mysql并新建数据库--教程太多了此步骤省略; 用sqlyog连上mysql创建数据库redmine; 1.下载redmine-5.1.1.tar.gz,上传到/usr/local/software目录下; 2.解压 cd /usr/local/software tar -zxvf redmine-5.…

架构师的36项修炼-06高性能系统架构设计

本课时讲解大家常听到的高性能系统架构。 高性能系统架构,主要包括两部分内容,性能测试与性能优化。性能优化又可以细分为硬件优化、中间件优化、架构优化及代码优化,知识架构图如下。 性能测试 先看系统的性能测试。性能测试是性能优化的…

Mybatis 动态SQL条件查询(注释和XML方式都有)

需求 : 根据用户的输入情况进行条件查询 新建了一个 userInfo2Mapper 接口,然后写下如下代码,声明 selectByCondition 这个方法 package com.example.mybatisdemo.mapper; import com.example.mybatisdemo.model.UserInfo; import org.apache.ibatis.annotations.*; import j…

GetShell的姿势

0x00 什么是WebShell 渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权…