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

从实用的角度聊聊Linux下文本编辑器VIM

本文从实用的角度聊聊Vim的常用命令。何为实用?我举个不实用的例子大家就明白了,用vim写代码。;)

“vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。”   ——摘自百度百科

vim功能强大,但很多人写代码都不用,因为有更好的编辑代码的软件(时代进步了)。但尽管如此,依然无法掩饰vim编辑器在某些领域用处不凡,有很多配置文件用vim编辑我感觉非他莫属,下面来聊一聊vim的使用。重点讲解复制一段文本粘贴文本删除行查找字符串等这些常用的操作。

vim是vi的增强版本,在终端输入vim命令后面加上文件名即可打开文件,例如:

vim test.txt

当然文件也可以是加路径的,没问题。如果目标文件存在,则vim打开该文件,若目标文件不存在,则新建该文件。这一点上比较人性化,不错。当你打开一个文件就会有下面的界面,如下图!

其中打开文件还有几种常用的方式:

vim -R test.txt

vim 加-R,这代表以只读的模式打开文本。如果打开文本想直接定位到某行,可以如下操作:

vim test.txt +10

这代表打开test.txt文本同时定位到第10行的位置。

当你刚打开这个编辑器的时候发现当前状态是无法输入的,只可以移动光标。因为vim拥有三种模式:命令模式、插入模式和ex模式。刚打开的时候的模式为命令模式,在这个状态下,无法输入,在命令模式中按“i”键可以进入到插入模式,在这个插入模式下才进行文本输入。在插入模式中按esc可以返回命令模式。在命令模式中按“:”可以进入ex模式,在ex模式中可以保存、修改和退出。下面列一下命令模式和插入模式和ex模式的操作。首先说一句,任何模式都可以通过esc键回到命令模式。

命令模式:通常用于文本操作,例如复制粘贴一类。

i:在光标前插入文本。

o:在当前行的下面插入新行。

dd:删除正行。

u:撤销上一个操作。

y:复制选中文本。

yy :复制当前行。

n+yy:n是数字,例如,先按5,接着按yy,则是将5行内容复制。

v:进入可视模式,进入可视模式后,通过上下左右可以选出文本,之后通过y进行复制。

V:选择当前行,通过j和k进行多行选择,之后通过y进行复制。

p:粘贴。

r:替换当前关键字。

/ :查找关键字,输入/ 后面加上想查找的字符串后回车,通过n或N,会切换上一个匹配项或下一个匹配项。

?:查找字符串,和上面的“/”查找正好相反,使用方式和上面的相同,但是查找的是上一个匹配项,n或N也和上面的命令相反,n会跳到上一个匹配项,N会跳到下一个匹配项。

插入模式:

命令模式下输入“i”进入该模式,这个模式非常之简单,因为插入模式就是输入文本。如果要对文本进行粘贴操作等等,刚才我们说过按esc回到命令模式。

EX模式

:w 保存当前修改。

:q 退出。

:q! 强制退出。

:x 保存并退出。

:set number 显示行号。(可以简写为:set nu)

:! 执行一个系统命令并显示结果。例如,:!ls,ls是系统命令。

:sh 切换到终端命令行,使用ctrl+d切换回vim。

:set nohls 搜索时会有高亮字,该命令用于去除高亮字背景。

:set hls 重启搜索时的高亮字。

现在来欣赏一下吧,用vim编辑器编写的在程序界经典到不容错过的helloworld程序。

http://www.dtcms.com/a/106433.html

相关文章:

  • LambdaQueryWrapper解释一下
  • Ubuntu 20.04 中 Git 的安装、配置和基本操作指南
  • Element Plus 主题色定制指南:从原理到实战
  • Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
  • L2-001 紧急救援
  • 编译原理:first集和follow
  • Python数据类型 - 元组(Tuple)
  • 第四章:检索器(Retriever)设计:从向量到图谱
  • Windows 实战-evtx 文件分析--做题笔记
  • Qt中的数据解析--XML与JSON处理全攻略
  • 前端开发时的内存泄漏问题
  • 数据结构第6篇:手撕排序算法(插入、希尔、堆)
  • 【通用级联选择器回显与提交处理工具设计与实现】
  • 中和农信:让金融“活水”精准浇灌乡村沃土
  • RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
  • windows使用Python调用7-Zip【按大小分组】压缩文件夹中所有文件
  • C# Winform 入门(3)之尺寸同比例缩放
  • 山东大学《多核平台下的并行计算》实验笔记
  • Mysql+Demo 获取当前日期时间的方式
  • 17查询文档的方式
  • CASAIM与哈尔滨电气集团达成战略合作,三维智能检测技术赋能电机零部件生产智造升级
  • 【DRAM存储器四十九】LPDDR5介绍--LPDDR5的低功耗技术之power down、deep sleep mode
  • ContextVars 在 FastAPI 中的使用
  • 最新26考研资料分享考研资料合集 百度网盘(仅供参考学习)
  • 逻辑漏洞之越权访问总结
  • LeetCode 2761 和等于目标值的质数对
  • Anywhere文章精读
  • c# 如何利用redis存储对象,并实现快速查询
  • 实时显示符合条件的完整宋词
  • 基于 DeepSeek 与天地图搭建创新地理信息应用