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

【Linux】vim

文章目录

  • 一、vim是什么?
  • 二 、命令模式
  • 三、插入模式
  • 四、底行模式
  • 五、vim配置


一、vim是什么?

Vim是一个强大的文本编辑器,它是Vi的增强版,支持多种语法高亮、插件扩展、多模式操作等功能。Vim有三种基本的工作模式:命令模式、输入模式和底行模式。在不同的模式下,可以使用不同的指令来编辑文本、移动光标、搜索替换、执行命令等。

另外,vim也可以用来创建文件,例如vim test.c,如果有test.c这个文件就打开,没有的话就创建并打卡文件。

二 、命令模式

用户在刚启动vim时所在的模式便是命令模式。
此状态下敲击键盘动作会被 vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。

命令模式下常用命令
a – 进入插入模式,在光标下一个位置开始输入文本
i – 切换到输入模式,在光标当前位置开始输入文本
o – 在当前行的下方插入一个新行,并进入插入模式
注意:这三个命令都是从命令模式进入插入模式,只不过进入方式有所不同。
: – 切换到底行模式,以在最底一行输入命令(在我们的键盘上其实是shift+;)

注意:插入模式和底行模式只能通过命令模式进入,插入模式和底行模式之间不能互相进入。
那我们又如何从插入模式和底行模式回退到命令模式呢?Esc
甚至当我们不确定自己处在哪个模式时也可以无脑多按几次Esc回退到命令模式。

模式转换示意图

x – 删除当前光标所在处的字符
n dd – 剪切/删除当前行,n表示删除多少行
n yy – 复制当前行,n表示复制多少行
p(小写) – 粘贴剪贴板内容到光标下方
P(大写)-- 粘贴剪贴板内容到光标上方
u – 撤销上一次操作
ctrl + r – 重做上一次撤销的操作
gg – 定位到代码的第一行
G – 定位到最后一行,nG可以定位到任意一行
shift+6(^) – 特定一行的开始
shift+4($) – 特定一行的结尾
h – 光标向左移动
j – 光标向下移动
k – 光标向上移动
l – 光标向右移动

有些读者可能会疑惑上下左右方向键不行吗?为什么要用这个来移动光标。这其实是因为老式的键盘是没有方向键的。

三、插入模式

进入插入模式后我们就可以正常写代码了,其实这时候和Windows下的文本编辑器已经没多大区别了也没有什么特别的指令。注意:如果要进去其他模式,要先Esc返回命令模式,然后再从命令模式进入其他模式。

四、底行模式

在命令模式下按下 :(英文冒号)就进入了底行模式。
w – 保存文件。
q – 退出 Vim 编辑器。
wq --保存文件并退出 vim
wq! – 强制写入并保存,退出vim
set nu/nonu – 添加行号/不添加行号
!cmd – 直接在不退出vim的情况下进行查看,编译,运行等动作
/关键字 – 用于搜索关键字,n表示下一个

五、vim配置

vim在启动的时候,会自动扫描当前用户的家目录下的.vimrc,让.vimrc内部的选项生效。
vim配置,其实核心就是向.vimrc里面添加更多的配置选项即可!
vim 也可能会需要各种插件!

不过vim的配置命令更加复杂,读者可以自行上网查看学习。另外,可以前往github/gitee等网站寻找一些自动化配置vim的开源项目。

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

相关文章:

  • cstring函数
  • 【owt】p2p client mfc 工程梳理
  • pandas教程:Hierarchical Indexing 分层索引、排序和统计
  • Redis 扩展 RedisBloom 插件,解决缓存击穿、穿透
  • VBA技术资料MF80:选择文件及文件夹
  • 网络层:控制平面
  • Ubuntu 系统内核 kernel panic
  • 【flink】RowData copy/clone方式
  • 网页图标工具
  • 掌动智能:功能测试及拨测主要功能
  • 第11章 Java集合(二)
  • Transformer和ELMo模型、word2vec、独热编码(one-hot编码)之间的关系
  • 您与1秒钟测量两千个尺寸之间仅差一台智能测径仪!
  • k8s之service五种负载均衡byte的区别
  • Unity项目转微信小游戏保姆教程,繁杂问题解决,及微信小游戏平台简单性能测试
  • json字符串转为开闭区间
  • STM32 IIC 实验
  • 第六章 包图组织模型|系统建模语言SysML实用指南学习
  • 使用 Rust 进行程序
  • 第10章 增长和扩展你的 Micro SaaS 应用程序
  • 第八章《搞懂算法:逻辑回归是怎么回事》笔记
  • 【WinForm详细教程八】WinForm中的TreeView控件
  • 〔003〕虚幻 UE5 基础教程和蓝图入门
  • 如何像优秀测试人员那样思考?
  • NOIP2023模拟13联测34 A. origenNOIP2023模拟13联测34 A. origen
  • HttpClient学习(Java)
  • 信息系统项目管理师之各工具的定义及解释
  • golang的defer执行时机案例分析
  • 2.HTML中常用浏览器
  • Vue 监听store数据变化