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

Linux文本编辑器vim使用和配置详解

vim介绍

​ vim是Linux的一款文本编辑器,可以用来编辑代码,而且支持语法高亮,还可以进行一系列配置使vim更多样化。也可以运行于windows,mac os上。

​ vim有多种模式,但目前我们只介绍绝大多数场景用的到的模式,也就是命令模式,插入模式和底行模式,其他模式以后用到了会介绍。

  • 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

  • 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

  • 末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模
式。

要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes

vim的基本操作

  • 在命令行输入vim 文件名后就会进入vim全屏幕编辑画面,进入vim后处于正常模式,想要编辑文本需要切换到插入模式

vim 文件名 n:打开文件并且让光标直接跳转到第n行

  • 正常模式切换到插入模式
  • 输入a(光标会跳转到下一个位置)
  • 输入i (光标会在当前位置)
  • 输入o(光标会跳转到下一行)
  • 插入模式末行模式切换到正常模式需要按esc
  • 正常模式切换到末行模式需要按shift + ;,也就是:
  • 退出vim需要进入末行模式
  • 输入w (保存当前文件)
  • 输入wq (保存当前文件并且退出)
  • 输入q! (不保存当前文件并且强制退出)
  • 插入模式末行模式不能互相切换
  • 末行模式下的一些指令
  • set nu/nonu:显示行号
  • !cmd:在不退出vim的情况下进行查看,编译,运行等动作
  • /关键字:搜索关键字,n表示下一个

​ 一下是一图流:

image-20231104115943892

注意,如果在vim界面时直接关闭XShell会生成一个隐藏的临时文件文件名.swp,以后再vim这个文件时会提示你,不想提示删除这个隐藏文件即可

vim命令模式指令集

记住以下操作都是在vim的命令模式下才能有效!

  • 光标的操作
  • hjkl:分别是让光标往 左/下/上/右 移动
  • gg:定位代码第一行
  • n+shift+g:定位代码第n行,没有n就是最后一行
  • shift+6(^):移动到当前行的开始
  • shift+4($):移动到当前行的结尾
  • w:以单词为单位,向后移动,支持跨行
  • b:以单词为单位,向前移动,支持跨行
  • e:光标跳到下个单词的词尾
  • 复制
  • n+yy:复制包含当前行的n行到缓冲区,没有n就是1行
  • n+p:粘贴n次缓冲区的内容到当前行之后,没有n就是粘贴1次
  • n+yw:复制光标开始n个单词到缓冲区,没有n就是1个
  • 删除
  • n+dd:从当前行开始剪切n行,没有n就是1行,剪切也相当于删除
  • n+x:向后删除n个字符,如果没有n就是1个
  • n+shift+x:向前删除n个字符,如果没有n就是1个
  • 替换
  • n+r:替换光标所在处的字符,或者n个字符
  • shift+'`':可以让字母在大小写之间转换
  • shift+r:进入替换模式(esc退回命令模式),替换光标所到之处的字符,直到按下esc为止
  • 撤销上一次操作
  • u:和windows的ctrl+z功能一样,撤销上一次操作
  • ctrl+r:撤销的恢复

不小心删除了一段代码用u撤回,代码就回来了,然后用ctrl+r撤回了我刚才的撤回,所以代码又回到了删除的时候,左右横跳😄

  • 查找
  • shift+3(#):查找同名单词,n单次跳转

视图模式

命令模式下输入ctrl+v进入视图模式进行批量化注释:

  1. 通过jk进行光标上下移动选中区域
  2. 输入shift+i进入插入模式
  3. 输入//
  4. esc即可完成注释

​ 批量化删除注释:

  1. ctrl+v进入视图模式
  2. hjkl进行光标上下移动选中区域
  3. 输入d完成删除

vim的其他应用

  • vim打开一个不存在的文件并且保存退出就会创建这个文件
  • vim多文件编辑
  • 底行模式vs+文件名:就可以多开文件

image-20231104141813152

  • 无论打开多少文件,光标只有一个,光标在一个区域就表示当前正在编辑哪一个文件。在文件之间切换光标是ctrl+ww

vim简单配置

​ 首先vim在启动的时候会自动扫描当前用户家目录下的vimrc文件,让.vimrc文件里的选项生效。vim配置实际上就是向.vimrc文件里添加更多的配置选项。

​ 配置vim:

  1. 首先输入cd ~进入当前用户家目录
  2. 输入ls -al看看有没有.vimrc文件,如果没有就创建一个
  3. 百度搜索vim配置,就可以把别人的配置复制添加到.vimrc文件里,就完成配置啦

​ 或者直接下载别人已经配置好的.vimrc然后拷贝到我们的家目录即可。

这里我推荐点我这个网址的vim配置,用普通账户在前面加上sudo运行一下代码即可配置完成,放心没有安全问题!(下面是成果预览)

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

概览

sudo添加用户信任列表

​ 如果用户没有被加入到sudo用户白名单是用不了sudo指令的,所以这里我们来演示如何添加用户到信任列表里。首先需要登录root账号

  1. vim /etc/sudoers进入sudoers文件

往下翻直到看见root ALL=(ALL) ALL为止

image-20231104145651489

然后在复制root ALL=(ALL) ALL,在下面粘贴,把root改为自己用户的名字即可,记得底行模式输入wq!退出(我的用户名字是normal)

然后你就可以使用sudo了,试试去运行我上面写的代码自动化配置vim吧😊

http://www.lryc.cn/news/217736.html

相关文章:

  • 港科夜闻|香港科大戴希教授被选为腾讯公司新基石研究员
  • 如何读懂深度学习python项目,以`Multi-label learning from single positive label`为例
  • 【面试】Kafka基础知识
  • 【入门Flink】- 06Flink作业提交流程【待完善】
  • Linux 上的轻量级浏览器
  • 肆[4],滤波
  • Python 包管理器入门指南
  • 2022年06月 Python(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 配置Raspberry自动连接WIFI,在无法查看路由器的校园网情况下使用自己电脑热点
  • #stm32整理(一)flash读写
  • windows10编译高版本openssl
  • Mac之NVM|通过brew安装、更新、卸载、重新安装nvm
  • react的状态管理有哪些方法?
  • AST注入-从原型链污染到RCE
  • 【开题报告】基于uniapp的在线考试小程序的设计与实现
  • 使用pdf2image pdf转图片
  • 非关系型数据库Redis的安装【Linux】及常用命令
  • 【React】02.create-react-app基础操作
  • gcc -static 在centos stream8 和centos stream9中运行报错的解决办法
  • 【UE5 Cesium】actor随着视角远近来变化其本身大小
  • vue-render函数的三个参数
  • 数据结构与算法(Java版) | 排序算法的介绍与分类
  • Java 实现uniapp本机手机号一键登录
  • 树莓派使用Nginx搭建web网站内存利用太低了?高效远程访问试试结合内网穿透进行
  • 基于SSM的搬家预约系统
  • (论文阅读13/100)R-CNN minus R
  • Jmeter和Postman哪个做接口测试会更好
  • 【算法|二分查找No.2】leetcode 69. x 的平方根
  • AI:56-基于深度学习的微表情识别
  • Jetpack Compose 中下拉框实现