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

关于字符编辑器vi、vim版本的安装过程及其常用命令:

1. 编辑器

1.1 图形编辑器

平时常见的编辑器都是图形编辑器,比如记事本、notepad、office、wps等,图形编辑器的意思就是这些编辑器带有图形界面,有菜单选项。比如最简单的Windows的记事本:


记事本

当然,编程时不可能使用记事本来写代码,常用的专业编程IDE有vsCode、qtCreator等,常用的专业编辑器有sumlime、notepad++、vim等,它们各有所长。其中,在嵌入式开发领域,vim是不可或缺的一款字符界面型的高效编辑器,下面着重来介绍vim的安装和使用。

1.2 字符编辑器vi

字符编辑器的意思是这种编辑器没有提供图形界面,因此也不需要用鼠标去点击菜单栏,字符编辑器的所有操作都是只需键盘就能达到的,这种设定可以让人在编程时注意力专注于代码,将程序思维直接流向键盘,行云流水,无需任何多余的菜单、鼠标的干扰,极大提高效率。在字符编辑器中,vi就是其中的典型代表。

vim的安装

编辑器vi是Ubuntu系统默认已经安装好了的,但vi的初始版本功能各方面都较弱,一般都需要升级到vim版本,下载安装vim版本的命令是:

gec@ubuntu:~$ sudo apt install vim

安装完毕之后,还可以在vim的配置文件中设置一些常用的选项:

gec@ubuntu:~$ sudo cat /etc/vim/vimrc
...49	"set showmatch		" Show matching brackets.50	"set ignorecase		" Do case insensitive matching51	"set smartcase		" Do smart case matching52	"set incsearch		" Incremental search53	"set autowrite		" Automatically save 54	"set hidden		" Hide buffers55	set mouse=a		" Enable mouse usage (all modes)56	set cindent57	set number58	59	" Source a global configuration file if available60	if filereadable("/etc/vim/vimrc.local")61	  source /etc/vim/vimrc.local62	endif
  • 注意:
    文件 /etc/vim/vimrc 是vim的配置文件
    该文件中凡是以双引号开头的都是注释

set mouse=a 代表开启鼠标追踪
set cindent 代表开启自动缩进
set number 代表显示行号

这个没有菜单的编辑器,当我们需要执行诸如保存、查找、替换、剪切等等动作的时候怎么办呢?答案是将键盘的输入分成两种模式:一种模式下键盘敲入的就是编辑的内容,另一种模式下键盘敲入的是要编辑器完成的动作。简而言之,vim需要两个操作模式:

  • 一个模式下键入的信息,作为文本本身的内容,称之为编辑模式.
  • 一个模式下键入的信息,作为执行的动作,称之为命令模式。

这两种模式的转换:

  • 默认打开 vi 的时候,进入了命令模式
  • 从命令模式,进入编辑模式:按i、a、o、I、O……
  • 从编辑模式,进入命令模式:按Esc

编辑模式没什么好研究的,主要是命令模式,熟练使用vi/vim实际上指的是熟练掌握命令模式中,vi所能支持的命令都有哪些?答案如下。

vim常用指令
vim命令含义
:w保存当前文件
:w filename另存为 filename
:q退出当前正在编辑的文件
:q!强制退出当前正在编辑的文件并放弃最近一次保存到现在的所有操作
:wq保存文件并退出
u撤销最近一次操作。(按Ctrl+r恢复撤销掉的操作)
i在光标所在的位置前面插入字符
a在光标所在的位置后面插入字符
o在光标所在行的下一行插入新的一行
O在光标所在行的上一行插入新的一行
x剪切光标处所在的字符。(x前可先按一个数字,则剪切若干个字符)
dd剪切光标处所在的一行。(dd前可先按一个数字,则剪切若干行)
yy复制光标处所在的一行。(yy前可先按一个数字,则复制若干行)
d$剪切从光标处(含)开始到该行行末的所有字符
d^剪切从光标处(不含)开始到该行行首的所有字符
y$复制从光标处(含)开始到该行行末的所有字符
y^复制从光标处(不含)开始到该行行首的所有字符
p将剪切板中的资料粘贴到光标所在处
r修改光标所在的字符,r之后接跟你要修正的字符(比如你要把fox中的o改成i,只需将光标停在o上,接着连续按下r和i)
h将光标向前移动一个字符
j将光标向下移动一个字符
k将光标向上移动一个字符
l(小写L)将光标向后移动一个字符
gg跳到文本的最初一行
G跳到文本的最末一行
Ctrl + u向上(up)翻页
Ctrl + d向下(down)翻页
:%s/old/new将文件中所有的old字符串替换成new
/string从光标处往下查找字符串string,注意在输完你要查找的字符串string之后要按回车键。如果你要找的字符串string有多个,你可以按n将光标跳到下一个位置,按N将光标跳到上一个位置
?string跟上面的</string>是一样的,区别是它从光标处往上查找
http://www.dtcms.com/a/285603.html

相关文章:

  • 从抓包GitHub Copilot认证请求,认识OAuth 2.0技术
  • web3 区块链技术与用
  • 基于深度学习的语音识别:从音频信号到文本转录
  • 开源的大语言模型(LLM)应用开发平台Dify
  • 如何用Python并发下载?深入解析concurrent.futures 与期物机制
  • 服务攻防-Java组件安全FastJson高版本JNDI不出网C3P0编码绕WAF写入文件CI链
  • ARM64高速缓存,内存属性及MAIR配置
  • 预测导管原位癌浸润性复发的深度学习:利用组织病理学图像和临床特征
  • Nand2Tetris(计算机系统要素)学习笔记 Project 3
  • sqli(1-8)
  • ASP.NET Core Web API 内存缓存(IMemoryCache)入门指南
  • Pytorch下载Mnist手写数据识别训练数据集的代码详解
  • PyTorch新手实操 安装
  • 填坑 | React Context原理
  • SpringMVC + Tomcat10
  • 小结:Spring MVC 的 XML 的经典配置方式
  • 计算机视觉与机器视觉
  • Tensorflow小白安装教程(包含GPU版本和CPU版本)
  • C++并发编程-13. 无锁并发队列
  • div和span区别
  • 【Python】python 爬取某站视频批量下载
  • 前端实现 web获取麦克风权限 录制音频 (需求:ai对话问答)
  • 20250718【顺着234回文链表做两题反转】Leetcodehot100之20692【直接过12明天吧】今天计划
  • AugmentCode还没对个人开放?
  • STL—— list迭代器封装的底层讲解
  • 71 模块编程之新增一个字符设备
  • Proto文件从入门到精通——现代分布式系统通信的基石(含实战案例)
  • 标题 “Python 网络爬虫 —— selenium库驱动浏览器
  • 光伏电站工业通信网络解决方案:高可靠工业通信架构与设备选型
  • 开源短链接工具 Sink 无需服务器 轻松部署到 Workers / Pages