Linux编辑器vim

文章目录


vim的特点

  1. vim是一个专注的编辑器
  2. vim是一个多模式的编辑器

vim的模式

vim有很多种模式,分别是命令模式(command mode)、插⼊模式(Insert mode)和底⾏模式(last line mode)等,本文主要介绍三种模式,各模式的功能区分如下:

  1. 正常/普通/命令模式(Normal mode)控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 lastline mode
  2. 插⼊模式(Insert mode)只有在Insert mode下,才可以做⽂字输⼊,按esc可回到命令⾏模式。该模式是我们后⾯⽤的最频繁的编辑模式。
  3. 末⾏模式(last line mode)
    ⽂件保存或退出,也可以进⾏⽂件替换,找字符串,列出⾏号等操作。

在命令模式下,shift+: 即可进⼊该模式。要查看你的所有模式:打开 vim,底⾏模式直接输⼊
:help vim-modes

命令模式

光标定位
  1. gg 光标定位到第一行
  2. shift+g 光标定位到文本结尾
  3. x+gg 光标定位到x行
  4. shift+4 = $ 光标定位到行尾
  5. shift+6 = ^ 光标定位到行首
  6. hjkl 表示方向键,左下上右(jump,king)
  7. n + w/b 以单词为单位在行内快速移动(w向前,b向后)
其他命令
  1. yy 复制当前行
  2. n + yy 复制当前行下的n行
  3. p 粘贴到当前行的下一行
  4. n+p 粘贴n行
  5. u 撤销
  6. ctrl+r 撤销的撤销
  7. n + dd 剪切n行
  8. n + x 删除光标之后的内容
  9. n + shift + x 删除光标之前的内容
  10. ~ 大小写转换
  11. n + r 替换光标之后的n个字符
  12. shift + r 进入替换模式,一行为单位,对代码进行修改
  13. aio进入插入模式,a光标向后移动一格,i光标不移动,o光标向下移动一行
  14. shift + zz 保存并退出vim
  15. shift+: 进入底行模式

底行模式

  1. w 保存
  2. q 退出
  3. wq! 强制保存并退出
  4. set nu 调出行号
  5. set nonu 隐藏行号
  6. /xxx + n 内容关键字搜索,n找到下一个
  7. ! + commend 执行命令行命令
  8. vs other 进行分屏操作
  9. ctrl + ww 跨屏
  10. %s /printf/print/ g 替换所有的printf为print

补充

  1. ctrl + v 由底行模式进入视图模式
  2. ctrl + v -> 区域选择 -> shift+i -> // -> esc 进行批量化注释
  3. ctrl + v -> 区域选择 -> d 批量化去注释
  4. vim filename +n 打开file,并将光标定位到第n行
  5. !x 快速执行历史命令

vim配置

原理:直接在当前用户的目录下找到.vimrc文件进行配置。emmm建议上大模型找你想要的配置,直接粘贴到.vimrc中就行。
一键化配置

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

直接给这行贴到命令行中搞定。


相关推荐
hweiyu005 小时前
Linux运维实战:云原生设计与实施Docker&K8S(视频教程)
linux·运维·云原生
海棠蚀omo5 小时前
Linux操作系统-命令行参数及环境变量
linux·操作系统
小白不想白a6 小时前
【shell】每日shell练习(系统用户安全审计/系统日志错误分析)
linux·运维·云原生
码猫Mrr6 小时前
创维E900V22D刷入armbian hdmi开机花屏和网络无法使用 解决方式【亲测】
linux·armbian·e900v22d
Cx330❀6 小时前
《Linux基础入门指令(二)》:从零开始理解Linux系统
linux·运维·服务器·网络·经验分享
武文斌777 小时前
项目学习总结:CAN总线、摄像头、STM32概述
linux·arm开发·stm32·单片机·嵌入式硬件·学习·c#
JAVA学习通7 小时前
零基础OSS组件(Java)
java·linux·leetcode
Stanf up7 小时前
Linux信号
linux
梦飞翔2387 小时前
Linux
linux