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进行编辑
在这里插入图片描述

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

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

相关文章

响应拦截器的 return Promise.reject(res.data.message)

今天在看老师讲解代码的时候,解决了我心中的一些疑惑。 在做excel文件导出的时候,没有告诉浏览器文件的格式是Blod产生了报错。 看下图: 可以看到下面的内容:如果业务成功 返回 res.data 如果业务失败,给出错误信息的提示,将这个错误抛出去。 因此我们在发送一个…

2023春秋杯冬季赛 --- Crypto wp

文章目录 前言Cryptonot_wiener 前言 比赛没打,赛后随便做一下题目 Crypto not_wiener task.py: from Crypto.Util.number import * from gmpy2 import * import random, os from hashlib import sha1 from random import randrange flagb x bytes_to_long(f…

面试题合集

目录 二叉树和动态规划的框架图内容补充数组为什么下标从0开始?windows内存上存储数据采用是什么模式?atoi 和itoa函数的实现字节对齐方式,为什么进行内存对齐?结构体的大小二分查找有重复数字中最左边的数 最右边的数工厂模式 单…

幻兽帕鲁PalWorld服务器搭建详细教程

幻兽帕鲁PalWorld是一款由Pocketpair开发的游戏,融合了多种玩法,其独特的题材和画风吸引了很多玩家。为了更好地进行游戏体验,很多玩家选择自行搭建服务器。本文将详细介绍如何搭建幻兽帕鲁PalWorld服务器。 第一步:购买服务器 根…

面试官灵魂一问,曾写过什么剧本?我:“简单的有,使用Ansible对lnmp架构部署!”

引言:今天带大家使用ansible进行对lnmp的架构部署,并做wordpress网站项目 准备ansible端 db1(安装nginx与php和项目) db2(安装数据库) 并做好管理关联配置 一、创建角色 路径可以自定义,例/root/juben.dir #ansible-galaxy init nginx#an…

.NET 跨平台图形库 SkiaSharp 基础应用

写在前面 SkiaSharp 是适用于 .NET 和 C# 的 2D 图形系统,由开源 Skia 图形引擎提供支持,在 Google 产品中广泛使用。 可以在应用程序中使用 SkiaSharp Xamarin.Forms 绘制 2D 矢量图形、位图和文本。支持跨平台,Windows、Linux、Anroid、IO…

docker-compose搭建redis哨兵模式

文件存放如下图: docker-compose.yml文件内容如下: version: 3.3 services:master:image: redis:3.2.12restart: alwayscontainer_name: redis-mastercommand: redis-server /usr/local/redis/conf/redis.confports:- 6380:6380volumes:- /root/redis/…

java开发——《并发编程》

目录 一.jmm 二.并发了什么 1.只有一个核(单核)并发还有没有意义 2.单核,还有什么可见性问题 3.并发和并行 三.volitaile 1.变量的可见性问题 2.原因是什么 3.本次修改的变量直接刷到主内存 4.声明其他内存对于这个地址的缓存无效 …

Java Web(三)--CSS

介绍 为什么需要: 在没有 CSS 之前,想要修改 HTML 元素的样式需要为每个 HTML 元素单独定义样式属性,费心费力;CSS 可以让 html 元素(内容) 样式(CSS)分离,提高web 开发的工作效率(针对前端开发),从而…

3.chrony服务器

目录 1. 简介 1.1. 重要性 1.2. Linux的两个时钟 1.3. 设置日期时间 1.3.1. timedatectl命令设置 1.3.2. date命令设置 1.4. NTP 1.5. Chrony介绍 2. 安装与配置 2.1. 安装: 2.2. Chrony配置文件分析 2.3. 同步时间服务器 2.3.1. 授时中心 2.3.2. 实验…

ssh登录失败:connection closed by foreign host

问题1: ssh登录不上,连接上就断掉 inetd.conf显示2277已打开,ip也没有冲突。 但是这两个文件是空的(size 0k): dropbear_dss_host_key dropbear_rsa_host_key 把/etc/dropbear里面的东西删掉,重新生成秘钥文件: …

Java强训day1(选择题编程题)

选择题 class Person{//堆public String name;public int age;public double weight;//方法区public void eat(){System.out.println(name"eat()");} }public class TestDemo2 {public static void main(String[] args) {//栈Person p1new Person();Person p2new Per…

基于python豆瓣电影评论的情感分析和聚类分析,聚类分析有手肘法进行检验,情感分析用snownlp

基于Python的豆瓣电影评论的情感分析和聚类分析是一种用于探索电影评论数据的方法。 情感分析 情感分析旨在从文本中提取情感信息,并对其进行分类,如正面、负面或中性。在这里,我们使用了一个名为snownlp的Python库来进行情感分析。Snownlp是…

深入了解达梦数据库的增删查改操作:从入门到精通

目录 前言: 一.达梦数据库的增删改查 1.创建数据库 2.插入数据 3.查看数据 4.删除数据 5.数据 前言: 在当今数字化的时代,数据库已经成为企业和组织的核心资产,是实现高效数据处理、存储和管理的重要工具。达梦数据库&…

linux下msyql自动备份

环境变量配置 vim /etc/profile 追加/usr/local/mysql,MySQL数据库默认安装路径 source /etc/profile 创建定时备份脚本 mkdir /home/mysqlDump/ vim /home/mysqlDump/mysql.sh #!/bin/bash mysqldump -uroot -p123456 bim_ry_prod > /home/mysqlDump/bim…

Qt/QML编程之路:QtMultimedia/Radio(41)

Qt有一个神奇的组件,那就是Qtmultimedia,它有强大的功能: 看看很多多媒体功能,都能在这里找到,不仅audio、video,还有camera、sound和radio。 比如: import QtQuick 2.0 import QtMultimedia 5.0Text {text: "Press Me!"font.pointSize: 24Audio {id: playM…

《幻兽帕鲁》被指AI缝合,开发过程疑点重重,最后附游戏安装教程

由日本游戏工作室Pocketpair开发的《Palworld / 幻兽帕鲁》毫无疑问成为了2024年的首个巨热游戏!上周五(2024年1月19日)游戏上线抢先体验,仅在3天内销量就已突破400万!并于2024年1月21日创下了1291967名同时在线玩家的…

Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载

目录 搭建 TFTP 服务文件下载更多内容 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是 TCP/IP 协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号…

Ddosify 作为压测工具的使用指南

文章目录 1. 写在最前面1.1 Kubernetes 监控1.2 Performance Testing 2. 命令行安装 & 使用2.1 安装2.2 使用2.2.1 默认的例子2.2.2 定制的例子 3. Dashboard 安装 & 使用3.1 安装3.2 使用3.2.1 简单使用3.2.3 依赖的服务介绍 4. 碎碎念5. 参考资料 1. 写在最前面 由于…

空调设计软件工程师考虑点

空调设计软件工程师考虑点 看如的下边有输入压力P,单位不同,MPG是相对压力,Kpa是绝对压力。绝对压力比相对压力大一个大气压,即100kpa。 海立压缩机直接给转速值就行。CAN数据格式,Motoral高位在前,Intel高…