当前位置: 首页 > news >正文

linux 系统下文本编辑常用的命令

一、是什么

Vim是从 vi 发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方

vim可以说是程序开发者的一项很好用的工具

二、使用

基本上 vi/vim 共分为三种模式,分别是:

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 底线命令模式(Last line mode)

命令模式

Vim 的默认模式,在这个模式下,你不能输入文本,但是可以让我们在文本间移动,删除一行文本,复制黏贴文本,跳转到指定行,撤销操作,等等

移动光标

常用的命令如下:

  • h 向左移动一个字符
  • j 向下移动一个字符
  • k 向上移动一个字符
  • i 向右移动一个字符

或者使用方向键进行控制

如果想要向下移动n行,可通过使用 "nj" 或 "n↓" 的组合按键

搜索

常见的命令如下:

  • /word:向光标之下寻找一个名称为 word 的字符

  • ?word:向光标之上寻找一个字符串名称为 word 的字符串

  • n:代表重复前一个搜寻的动作,即再次执行上一次的操作

  • N:反向进行前一个搜索动作

删除、复制、粘贴

常用的命令如下:

  • x:向后删除一个字符
  • X:向前删除一个字符
  • nc:n 为数字,连续向后删除 n 个字符
  • dd:删除游标所在的那一整行
  • d0:删除游标所在处,到该行的最前面一个字符
  • d$删除游标所在处,到该行的最后一个字符
  • ndd:除光标所在的向下 n 行
  • yy:复制游标所在的那一行
  • y0:复制光标所在的那个字符到该行行首的所有数据
  • y$:复制光标所在的那个字符到该行行尾的所有数据
  • p:已复制的数据在光标下一行贴上
  • P:已复制的数据在光标上一行贴上
  • nc:重复删除n行数据

输入模式

命令模式通过输入大小写iao可以切换到输入模式,如下:

  • i:从目前光标所在处输入
  • I:在目前所在行的第一个非空格符处开始输入
  • a:从目前光标所在的下一个字符处开始输入
  • A:从光标所在行的最后一个字符处开始输入
  • o:在目前光标所在的下一行处输入新的一行
  • O:目前光标所在的上一行处输入新的一行

输入模式我们熟悉的文本编辑器的模式,就是可以输入任何你想输入的内容

如果想从插入模式回到命令模式,使用按下键盘左上角的ESC

底线命令模式

这个模式下可以运行一些命令例如“退出”,“保存”,等动作,为了进入底线命令模式,首先要进入命令模式,再按下冒号键:

常见的命令如下:

  • w:将编辑的数据写入硬盘档案中
  • w!:若文件属性为『只读』时,强制写入该档案
  • q:未修改,直接退出
  • q!:修改过但不存储
  • wq:储存后离开
http://www.lryc.cn/news/230362.html

相关文章:

  • 3D Gaussian Splatting文件的压缩【3D高斯泼溅】
  • Spring Boot 整合xxl-job实现分布式定时任务
  • 16.最接近的三数之和
  • php 插入排序算法实现
  • import gradio时出现SyntaxError: future feature annotations is not defined解决方案
  • 视频封装格式
  • vue+iView实现下载zip文件导出多个excel表格
  • Rust编程中的共享状态并发执行
  • python语法之数据类型
  • Skybox天空盒子的更换教程_unity基础开发教程
  • Android模拟器的linux内核源码的下载
  • Vue中methods实现原理
  • 维基百科是非营利性机构 词条内容具有中立性、准确性、可靠性
  • C/C++轻量级并发TCP服务器框架Zinx-框架开发002: 定义通道抽象类
  • bin、hex、ELF文件格式上的区别
  • 《QT从基础到进阶·二十六》绘制多个图形项(QGraphicsRectItem,QGraphicsLineItem,QGraphicsPolygonItem)
  • 【分布式】CAP理论详解
  • AI歌姬,C位出道,基于PaddleHub/Diffsinger实现音频歌声合成操作(Python3.10)
  • ZooKeeper基本知识
  • leetcode:138. 随机链表的复制
  • SpringBoot 全局异常之参数校验(1)
  • QT windows与linux之间sokcet通信中文乱码问题解决方法
  • Java实现DXF文件转换成PDF
  • 揭秘Vue中的nextTick:异步更新队列背后的技术原理大揭秘!
  • PHP使用文件缓存实现html静态化
  • A Gentle Introduction to Graph Neural Networks
  • 详解[ZJCTF 2019]NiZhuanSiWei 1(PHP两种伪协议、PHP反序列化漏洞、PHP强比较)还有那道题有这么经典?
  • bazel build使用【未完】
  • 11-13 /11-14代理模式 AOP
  • Ubuntu 创建并发布 Django 项目