Linux 命令vim(编辑器)

(一)vim编辑器的介绍

vim是文件编辑器,是vi的升级版本,兼容vi的所有指令,同时做了优化和延伸。vim有多种模式,其中常用的模式有命令模式插入模式末行模式:

(二)vim编辑器基本操作

1 进入vim编辑文件

1  vim 文件路径       				//直接打开指定文件(光标位于首行或上次关闭文件时光标的所在行)
2  vim +数字 文件路径      			//打开指定文件并将光标移动到指定行(数字对应的行数)
3  vim +/关键词 文件路径    			//打开指定文件并高亮显示关键词
4  vim 文件路径1 文件路径2 文件路径3	//可同时打开多个文件,文件之间可切换操作

2 模式之间的切换

在这里插入图片描述插入模式:是可以直接将键盘输入的内容插入到文件的模式。
命令模式:是通过vim指令进入操作的默认模式,可以切换成其他模式。
末行模式:是在屏幕的最末行进行命令输入的模式。

(三) 模式的详细介绍

1插入模式

i 光标不会移动
a 光标向后移动一个字符的位置,按Esc退出该模式后光标会向前挪一个字符的位置。
o 会有新起一行的操作,按Esc退出该模式后换行的操作仍不会撤销。

2命令模式

(1) 复制 粘贴 剪贴

yy/nyy      复制光标所在行的内容,	n是数字,表示从光标处开始复制n行内容
p /np       粘贴剪切板中的内容, 	n是数字,表示从光标处开始粘贴n份相同的内容
dd/ndd      剪切光标所在行的内容,	n是数字,表示从光标处开始剪切n行内容;如果后续没有粘贴的操作,则该操作等同于删除

(2) 删除多个字符

nx          行内删除,从当前光标位置起向右删除n个字符的内容(包括当前光标所指的字符)
nX          行内删除,从当前光标位置起向左删除n个字符的内容(不包括当前光标所指的字符)

(3) 撤销 与 恢复

u           撤销上次的操作
ctrl + r    恢复撤销的操作(撤销的复原过程,输入该指令前未进行撤销操作,则会报错)

(4) 挪动光标

shift + g (即G) 	将光标定位到文档内容的最后一行开头
gg                	将光标定位到文档内容的开头
n shift+g(即nG)   	将光标定位到文档内容的第n行开头
shift + 4(即$)   	将光标定位到当前所在行的行尾
shift + 6(即^) 	将光标定位到当前所在行的行首
n w               	以单词为单位,光标向后挪动一个单位(范围是整个文件,即可以跨行挪动光标)
n b                	以单词为单位,光标向前挪动一个单位(范围是整个文件,即可以跨行挪动光标)

(5) 字符切换相关的指令

shift + ~        	快速进行大小写的切换(当前光标处)
n r + 替换后的字符 	替换当然光标所指向的内容

(6) 光标进行上下左右移位的按键

h					向左
j					向下
k					向上
l					向右

3末行模式

(1)保存

:w				字母w再回车,保存当前文件
:w 文件路径  	字母w+空格 + 文件保存路径

(2)退出

:q   		退出当前文件
:wq			保存当前文件并退出
:q!    		强制退出,不保存对文件的修改并退出

(3)搜索/查找

:/关键词     /+关键词再回车,按关键词查找,查找到的内容会被高亮显示
:nohl   	字母nohl再回车,取消查找到的内容的高亮显示,若不取消内容会一直高亮显示
N/n     	字母N/n,光标移动到上/下一个查找到的内容(属于命令模式)

(4)替换

:s/搜索的内容/新内容     		用新内容替换光标所在行第一处被搜索到的内容
:s/搜索的内容/新内容/g       	用新内容替换光标所在行全部被搜索到的内容
:%s/搜索的内容/新内容        	用新内容替换整个文件每一行第一处被搜索到的内容
:%s/搜索的内容/新内容/g      	用新内容替换整个文件全部被搜索到的内容

(5)显示行号

set nu	    字母set+空格+字母nu再回车,显示文件每行的行号,显示行号是暂时的下次打开该文件不会再显示
set nonu    字母set+空格+字母nonu再回车,取消行号显示

(6)多文件查看

files   	字母files再回车,查看同时打开的所有文件的名称

在这里插入图片描述

  • %a 表示它对应的文件是当前操作的文件
  • # 表示它对应的文件是上一个操作的文件
open 文件名		字母open+空格+文件名再回车,切换到其他打开的文件进行操作
bn     			字母bn再回车,切换到下一个打开的文件
bp     			字母bp再回车,切换到上一个操作的文件
sp [filename] 	打开一个新窗口,如果加filename,表示在新窗口创建一个新文件,否则表示两个窗口为同一文件内容
  • 【ctrl】+ w +⬆/k 光标移动上窗口
  • 【ctrl】+ w +⬇/j 光标移动下窗口
  • 【ctrl】 + w + q 结束退出

注意:每执行完一次末行模式下的命令之后,都会自动退回到命令模式

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

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

相关文章

百度智能云正式上线Python SDK版本并全面开源

文章目录 前言一、SDK的优势二、千帆SDK:快速落地LLM应用三、如何快速上手千帆SDK3.1、SDK快速启动3.2. SDK进阶指引 3.3. 通过Langchain接入千帆SDK4、开源社区 前言 百度智能云千帆大模型平台再次升级!在原有API基础上,百度智能云正式上线…

单链表原来是这样实现的!

文章目录 前言1. 链表的概念及结构1.1在链表里,每节“车厢”是什么样的呢?1.2为什么还需要指针变量来保存下⼀个节点的位置? 2. 单链表的实现1. 定义结构体(Seqlist)2. 打印函数(SLTPrint)小插曲,创建节点函数CreateNode3. 尾插函…

Qt 串口编程-从入门到实战

1. Qt 串口通信流程解析 1.1 串行通信和并行通信对比 并行通信适合距离较短的通信,且信号容易受干扰,成本高串口通讯-设备(蓝牙, wifi, gprs, gps) 1.2 Qt 串口通信具体流程 1. 创建 QSerial…

学习Pandas 二(Pandas缺失值处理、数据离散化、合并、交叉表与透视表、分组与聚合)

文章目录 六、高级处理-缺失值处理6.1 检查是否有缺失值6.2 缺失值处理6.3 不是缺失值NaN,有默认标记的 七、高级处理-数据离散化7.1 什么是数据的离散化7.2 为什么要离散化7.3 如何实现数据的离散化 八、高级处理-合并8.1 pc.concat实现合并,按方向进行…

面试常见问题:什么是进程? 什么是线程?进程和线程有什么区别?

1.什么是进程? 进程是操作系统中一个程序在执行过程中的一个实例,每个进程都有自己独立的地址空间,进程间不共享内存。它是程序运行的最小内存单元; 进程特点: 1> 需要占用独立的内存空间; 2>可以并…

2023年最新PyCharm安装详细教程及pycharm配置

目录 一、PyCharm简介及其下载网站 二、单击网站的Downloads,进入二级页面,选择对应的操作系统下载PyCharm 三、PyCharm的安装程序的安装及其配置(configuration) 1、运行PyCharm Setup 2、安装位置设置 3、安装选项设置 4、开始菜单中PyCharm快捷方式的…

【前沿技术了解】web图形Canvas、svg、WebGL、数据可视化引擎的技术选型

目录 Canvas:HTML5新增 Canvas标签(画布) 渲染上下文canvas.getContext(contextType[, contextAttributes]) 上下文类型(contextType) 上下文属性 (contextAttributes) 示例 动画 setInterval(function, delay)…

ElasticSearch02

ElasticSearch客户端操作 ElasticSearch 版本:7.8 学习视频:尚硅谷 笔记:https://zgtsky.top/ 实际开发中,主要有三种方式可以作为elasticsearch服务的客户端: 第一种,使用elasticsearch提供的Restful接口…

从0到1建立前端规范

本文适合打算建立前端规范的小伙伴阅读 一、为什么需要规范 规范能给我们带来什么好处,如果没有规范会造成什么后果?这里主要拿代码规范来说。 统一代码规范的好处: 提高代码整体的可读性、可维护性、可复用性、可移植性和可靠性&#xf…

Ubuntu 22.04.3编译AOSP13刷机

文章目录 设备信息下载AOSP并切换分支获取设备驱动编译系统编译遇到的问题Cannot allocate memoryUbuntu设置USB调试刷机参考链接 设备信息 手机:Pixel 4XL 下载AOSP并切换分支 在清华大学开源软件镜像站下载初始化包aosp-latest.tar。 解压缩,切换到…

Hexo 还是 Hugo?Typecho 还是 Wordpress?读完这篇或许你就有答案了!

Hexo 首先介绍的是 Hexo,这也是咕咕没买服务器之前折腾的第一个博客。 演示站点:https://yirenliu.cn 用的主题是 butterfly,想当年刚用的时候,作者还没建群,现在 qq 群都有上千人了,GitHub 上的星星数量也有 2.7k 了。 优点 如果你不想买服务器,但也想折腾一个博客,…

【Web-Note】 JavaScript概述

JavaSript基本语法 JavaSript程序不能独立运行&#xff0c;必须依赖于HTML文件。 <script type "text/javascript" [src "外部文件"]> JS语句块; </script> script标记是成对标记。 type属性&#xff1a;说明脚本的类型。 "text/jav…

【全栈开发】RedwoodJS与BlitzJS:全栈JavaScript元框架的未来

Redwood和Blitz是两个即将出现的全栈元框架&#xff0c;它们提供了创建SPAs、服务器端渲染页面和静态生成内容的工具&#xff0c;并提供了生成端到端支架的CLI。我一直在等待一个有价值的Rails JavaScript替代品&#xff0c;谁知道什么时候。这篇文章是对两者的概述&#xff0c…

【C++】:拷贝构造函数与赋值运算符重载的实例应用之日期类的实现

C实现日期类 ├─属性&#xff1a; │ ├─年份 │ ├─月份 │ └─日期 ├─方法&#xff1a; │ ├─构造函数 │ ├─拷贝构造函数 │ ├─析构函数 │ ├─设置年份 │ ├─设置月份 │ ├─设置日期 │ ├─获取年份 │ ├─获取月份 │ ├─获取日期 │ ├…

HTML新特性【缩放图像、图像切片、平移、旋转、缩放、变形、裁切路径、时钟、运动的小球】(二)-全面详解(学习总结---从入门到深化)

目录 绘制图像_缩放图像 绘制图像_图像切片 Canvas状态的保存和恢复 图形变形_平移 图形变形_旋转 图形变形_缩放 图形变形_变形 裁切路径 动画_时钟 动画_运动的小球 引入外部SVG 绘制图像_缩放图像 ctx.drawImage(img, x, y, width, height) img &#xf…

C# 使用NPOI操作Excel的工具类

写在前面 NPOI是POI项目的.NET迁移版本。POI是一个开源的Java 读写 Excel、Word 等微软Ole2组件文档的项目&#xff1b;使用NPOI可以在没有安装Office或者相应环境的机器上对Word或Excel文档进行读写操作。 NPOI类库中操作EXCEL有两个模块分别是&#xff1a; 1️.HSSF模块&a…

Spring Beans;Spring Bean的生命周期;spring Bean的作用域,spring处理线程并发问题

文章目录 Spring Beans请解释Spring Bean的生命周期解释Spring支持的几种bean的作用域Spring容器中的bean可以分为5个范围&#xff1a; Spring如何处理线程并发问题&#xff1f; 在现在的项目开发中经常使用到spring bean&#xff0c;那么来谈谈spring bean的生命周期&#xff…

Lua脚本解决redis实现的分布式锁多条命令原子性问题

线程1现在持有锁之后&#xff0c;在执行业务逻辑过程中&#xff0c;他正准备删除锁&#xff0c;而且已经走到了条件判断的过程中&#xff0c;比如他已经拿到了当前这把锁确实是属于他自己的&#xff0c;正准备删除锁&#xff0c;但是此时他的锁到期了&#xff0c;那么此时线程2…

(三) Windows 下 Sublime Text 3 配置Python环境和Anaconda代码提示

一&#xff1a;新建一个 Python3.7 编译环境。 1 Tools--Build System--New Build System... 修改前&#xff1a; 修改后&#xff1a; 内容&#xff1a; {"cmd":["C:\\Python\\Python37-32\\python.exe","-u","$file"],"file_r…

复数的几何意义

1、复平面&#xff0c;复数的其它表示法 (1)几何表示法 直角平面坐标&#xff1a; 复平面 实轴&#xff0c;虚轴 (2)向量表示法 向量 模&#xff1a; 复数加减法可用向量的三角形法则或者平行四边形法则 (3)结论 (两边之和大于第三边) ((两边之差大于第三边)) *辐角&am…