当前位置: 首页 > 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.lryc.cn/news/592086.html

相关文章:

  • 小架构step系列18:工具
  • web3 区块链技术与用
  • 6 种无线传输照片从安卓到 Mac 的方法
  • 在ComfyUI中CLIP Text Encode (Prompt)和CLIPTextEncodeFlux的区别
  • 5 种可行的方法:如何将 Redmi 联系人备份到 Mac
  • AI进入自动驾驶时代:OpenAI发布革命性ChatGPT Agent
  • 飞牛上使用Docker方式部署LibreTV,再配合内网穿透,实现免费无广告刷剧的服务教程
  • 深度剖析:最新发布的ChatGPT Agent 技术架构与应用场景
  • uniapp+vue2——自定义底部导航tabbar
  • android版本编译问题之Hvac 应用体积优化问题处理记录
  • 从一开始的网络攻防(四):XSS
  • 推荐算法召回:架构理解
  • 正则表达式,Collection集合,迭代器
  • 正则表达式完全指南:从入门到实战
  • Kotlin集合分组
  • 黑马Node.js全套入门教程,nodejs新教程含es6模块化+npm+express+webpack+promise等_ts对象笔记
  • Kotlin集合过滤
  • 【Python】LEGB作用域 + re模块 + 正则表达式
  • uni-app 跳转页面传参
  • SpringCloud相关总结
  • 牛油果果实检测-目标检测数据集(真实环境下)
  • 基于SpringBoot 投票系统 【源码+LW+PPT+部署】
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 基于jieba实现词频统计
  • 在 React 中根据数值动态设置 SVG 线条粗细
  • Hadoop与云原生集成:弹性扩缩容与OSS存储分离架构深度解析
  • VSCode - VSCode 快速跳转标签页
  • 135. Java 泛型 - 无界通配符
  • Android CountDownTimer
  • Ubuntu系统下交叉编译Android的X265库
  • UVC for USBCamera in Android - 篇二