Linux开发工具--vim

Linux开发工具--vim

  • 一、vim的基本概念
  • 二、常见命令
  • 三、简单配置vim
    • 配置文件的位置
    • 常用配置选项,用来测试
    • 使用插件

一、vim的基本概念

vim编辑器,只负责写代码,vim是一款多模式的编辑器
vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下

在这里插入图片描述
1.正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进去Insert mode下,或者到last line mode

2.插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按[ESC]键可回到命令行模式。该模式是后面用的最频繁的编辑模式。

3.底行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。

二、常见命令

yy   //将当前光标所在行,复制  nyy  //n表示具体的数字
p   //将复制行进行粘贴  np     //n表示具体的数字
u   //撤销操作
ctrl+r   //撤销u操作
shift+g   //光标定位到文件的结尾
gg      //光标定位到文件的最开始
n+shift+g   //光标定位到文件的任意行
shift+6^//将光标定位到当前行的最开始
shift+4($)    //将光标定位到当前行的最结尾
w,b          //以单词为单位进行光标的前后移动
h,j,k,l     //左,下,上,右
dd     //将当前光标所在的行,剪切(删除)ndd
shift+~   //大小写切换
shift+r   //进入替换模式
r     //替换光标所在的字符,支持nr
x or X (shift)  //删除光标所在的字符,包括之前或者之后  nx

底行模式

set no/nonu    //打开行号,或者取消行号
vs            //文件名:分屏操作
w             //写入,w!(强制写入)
q             //退出,q!(强制退出)
:!cmd         //(cmd表示要执行的命令),不退出vim执行对应的命令(执行命令行,编译,运行,查看man)等
ctrl按着不动,w快速按两下    //进行左右分屏切换

三、简单配置vim

配置文件的位置

1.在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
2.而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
3.切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
4.打开自己目录下的.vimrc文件,执行 vim .vimrc

常用配置选项,用来测试

1.设置语法高亮: syntax on
2.显示行号: set nu
3.设置缩进的空格数为4: set shiftwidth=4

使用插件

要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完善配置,保证用户是你要配置的用户。
如果自己不想配置,可以进入下面这个网站一键进行配置,其中包含了常用的一些操作。

链接: https://gitee.com/HGtz2222/VimForCpp?_from=gitee_search

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/266131.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue快速入门教程

什么是Vue? 1,vue是一套前端框架,免除原生JavaScrip中dom操作,简化书写。 2,给予MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上 官网&a…

如何查询川菜食材配料的API接口

在当今的美食文化中,菜谱不只是一张简单的食谱,更是了解美食文化和饮食知识的重要途径。然而,若没有准确的食材配料,烹制出的每道菜品都将难以达到完美的味道。因此,为了更好地满足人们对于菜谱和食谱的需求&#xff0…

Java王者荣耀火柴人

主要功能 键盘W,A,S,D键:控制玩家上下左右移动。按钮一:控制英雄发射一个矩形攻击红方小兵。按钮控制英雄发射魅惑技能,伤害小兵并让小兵停止移动。技能三:攻击多个敌人并让小兵停止移动。普攻:对小兵造成基础伤害。小…

痤疮分割 实验心路历程

数据集的制作 将labelme生成的标注文件记普通的json文件转成coco数据集格式的json文件 图像分辨率过大 如果不做任何调整: 会出现“killed”的报错,表示图片像素过大,显卡内存不够,无法支撑训练 显卡 换成更高性能的显卡&am…

at least 1 bean which qualifies as autowire candidate

No qualifying bean of type com. spdbcccdl.mapper.dl.DatabaseDaoavailable: expected at least 1 bean which qualifies as autowire candidate.

修复录制异常终止导致的 MP4 文件损坏(moov atom not found)

如果录制视频时异常退出&#xff08;蓝屏死机、程序崩溃等&#xff09;&#xff0c;会导致录制的 MP4 文件损坏无法打开。 在这里简单记录一下解决方法。 1 首先尝试用 ffmpeg。运行 ffmpeg -i <损坏文件> -c copy <输出路径>看看能不能正常运行。 如果不能&am…

每日一博 - Cache Miss Attack

文章目录 概述解决思路缓存空值键并设置短期 TTL&#xff08;生存时间&#xff09;使用布隆过滤器 伪代码1. 缓存空值键并设置短期 TTLa. 缓存空值键b. 设置短期 TTL 2. 使用布隆过滤器a. 集成布隆过滤器b. 查询布隆过滤器 进一步优化系统性能的建议 概述 在缓存管理中&#x…

基于Springboot+mybatis+mysql+jsp招聘网站

基于Springbootmybatismysqljsp招聘网站 一、系统介绍二、功能展示四、其他系统实现五、获取源码 一、系统介绍 项目类型&#xff1a;Java EE项目 项目名称&#xff1a;基于SPringBoot的照片网站 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 前端技术&…

重磅!2023中国高校计算机大赛-人工智能创意赛结果出炉

目录 中国计算机大赛-人工智能创意赛现场C4-AI大赛颁奖及留影800个AI应用&#xff1f;这届大学生真能“搞事情”AI原生时代&#xff0c;百度要再培养500万大模型人才 中国计算机大赛-人工智能创意赛现场 12月8日&#xff0c;杭州&#xff0c;一位“白发老人”突然摔倒在地&…

【每日一题】【12.11】1631.最小体力消耗路径

1631. 最小体力消耗路径https://leetcode.cn/problems/path-with-minimum-effort/这道题目的核心思路是&#xff1a;使用了二分查找和BFS &#xff08;深度优先遍历&#xff09;结合的方式来解决路径搜索问题&#xff0c;在每一次二分查找中&#xff0c;通过 BFS 来检查是否存在…

viple与物理机器人(一):线控模拟

为了检测viple程序与物理机器人是否能顺利连接上 如果能顺利连接上&#xff0c;那么&#xff0c;可以通过内建事件从而控制物理机器人的前进、后退、左转、右转以及暂停。 如果不能连接上&#xff0c;首先&#xff0c;程序无法控制物理机器人&#xff0c;其次&#xff0c;当vip…

volatile 关键字的作用(变量可见性、禁止重排序)

volatile 关键字的作用&#xff08;变量可见性、禁止重排序&#xff09; Java 语言提供了一种稍弱的同步机制&#xff0c;即 volatile 变量&#xff0c;用来确保将变量的更新操作通知到其他线程。volatile 变量具备两种特性&#xff0c;volatile 变量不会被缓存在寄存器或者对…