Vim程序编辑器

server/2025/2/7 6:33:50/

目录

1.vi与vim

2.vi的使用

3.vim的使用及额外功能

①可视区块

②多文件编辑

③多窗口功能

④关键词补全功能

⑤vim环境设置与记录

4.vim常用命令示意图


1.vi与vim

  vim是vi的高级版。vi是所有的UNIX-like系统都内置的文本编辑器,很多软件的编辑接口都会调用vi;因为程序简单,使用vi的编辑速度更加快速。vi的界面可以看作两部分:①上半部分的文本 ②最后一行的状态+命令行模式。

  vim在vi基础上可以用不同颜色显示文字内容、辨别语法的正确性,还可以进行不同语言的程序编辑,甚至还具有debug功能,可以将vim看作一种程序编辑器

  输入下面命令,若出现 alias vi = 'vim' , 则二者用法一样;否则必须用vim命令来使用vim。

$ alias

2.vi的使用

  vi分为三种模式——一般命令模式、编辑模式与命令行模式。

①进入一般命令模式:

$ vi filename

在一般命令模式可进行移动光标、查找与替换、删除复制粘贴等操作。

②进入编辑模式:

编辑模式包括进行插入或替换。(如按i进行插入,左下方出现INSERT字样说明进入编辑模式,退出使用ESC按键)

③进入命令行模式:

:w     编辑的数据写入硬盘文件中
:w!    文件为只读时强制写入(本身有权限的情况下):q     退出vi
:q!    强制退出,不保存修改:wq    保存后退出
:wq!   强制保存退出

3.vim的使用及额外功能

①可视区块

先前的操作都是一行为单位,如果想要以列(也就是一个区块)为单位处理文件时:

v、V、[ctrl+v] → 控制光标选择可视化区块

②多文件编辑

同时编辑多个文件:

$ vim filename1 filename2

③多窗口功能

使用情景:处理多个文件;一个文件很大不想一直前后翻阅

效果:多个文件在一个屏幕上显示;一个文件划分成多个窗口展示

:sp [filename]

上方指令打开一个新窗口,如果有加filename,则表示在新窗口打开新文件filename;否则表示两个窗口同步显示当前文件。

④关键词补全功能

⑤vim环境设置与记录

  vim每次都会将上次的操作记录下来,比如重复编辑同一个文件时,第二次进入该文件光标会停留在上次退出的那一行上面。这个记录操作的文件:~/.viminfo 。可以通过[:set all]来查看目前文件的环境设置参数,也可以进行更改。

  但每个文件都要进行设置参数很不合理,这时候就用到整体配置文件。整体vim的设置值存放在文件:/etc/vimrc 。但并不建议修改该文件,可以手动建立一个文件:~/.vimrc ,将所希望的设置值写入该文件。建立并编辑好该文件后,下次重新用vim编辑某个文件时 ,该文件的默认环境就是~/.vimrc所配置的。

4.vim常用命令示意图


http://www.ppmy.cn/server/1470.html

相关文章

【深度学习】yolov5目标检测学习与调试

2024.4.15 -2024.4.16 完结 0.准备&&补充知识点 yolo检测算法可以实现目标检测、分割和分类任务。 项目仓库地址:https://github.com/ultralytics/yolov5 跟练视频:目标检测 YOLOv5 开源代码项目调试与讲解实战 lux下载视频神器:h…

LevelDB源码阅读笔记(1、整体架构)

LevelDB源码阅读笔记(1、整体架构) LeveDB源码笔记系列: LevelDB源码阅读笔记(0、下载编译leveldb) LevelDB源码阅读笔记(1、整体架构) 前言 对LevelDB源码的博客,我准备采用总…

1942年苏军反攻哈尔科夫失败

1942年5月,苏军计划夺回哈尔科夫,消灭城内的德国南方集团军群第6集团军。苏军为这次战役投入了西南方面军和南方面军,苏军元帅铁木辛哥制定了作战计划,非常凑巧的是,德军也于大致相同的时间制定了进攻计划。5月12日&am…

【Xilnx FPGA】 ubuntu20.04 vivado 和vitis找不到zynq设备

参考如何下,ubuntu下需要手动安装驱动,在安装目录下执行sudo ./install_drivers Install Cable Drivers (Linux Only) - Digilent Referencehttps://www.xilinx.com/support/documentation/user_guides/ug344.pdfAMD Customer Community $(DIR)Vivado/…

记一次Mac(M1)交叉编译Windows系统的过程

做了一个导出文件项目来实践学习GO的成果,开发完成后,在本地调试环境一切正常,打包到Windows测试出现了报错Error: Binary was compiled with CGO_ENABLED0, go-sqlite3 requires cgo to work. This is a stub。后研究得知,gorm的…

重构国内游戏账号登录系统的思考和实践

本期作者 背景 账号登录系统,作为游戏发行平台最重要的应用之一,在当前的发行平台的应用架构中,主要承载的是用户的账号注册、登录、实名、防沉迷、隐私合规、风控等职责。合规作为企业经营的生命线,同时,账号登录作为…

QT写Windows按键输出(外挂)

一、前言 玩游戏的时候遇到些枯燥无味反反复复的按鼠标键盘的情况时,就想写个外挂自动释放。刚好在学qt所以试验了下QT能不能对外输出按键与鼠标。 二、思路 qt中的按键鼠标全是输入,没有直接对外输出键盘鼠标指令的类,但是我们换个思路&…

如何在Vue3中使用H.265视频EasyPlayer.js流媒体播放器?

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8&#…