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

Linux入门指南:基础开发工具---vim

目录

一.vim的基本概念

二.vim的基础操作

验证vim安装与版本

进入vim

切换模式

退出vim及保存文件

三.vim正常模式命令集

移动光标

删除文本

替换

复制粘贴

撤销

退出

四.vim底行模式命令集

列出行号

查找关键字

保存文件

退出vim

多文件分屏

五.其他模式

替换模式

视图模式

模式总结

六.vim简单配置

配置文件的位置

常用配置选项

使用插件

七.总结


一.vim的基本概念

        Linux系统中“一切皆文件”,因此当我们在命令行下更改文件内容,编写相关代码时,不可避免地要用到文本编辑器,可供选择的编辑器不止一种,例如 vim、emacs、pico、nano等,而vim文本编辑器,是由vi发展演变过来的文本编辑器,因其具有使用简单、功能强大的特性,是Linux众多发行版的默认文本编辑器

        


        本期主要介绍vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)插入模式(Insert mode)底行模式(last line mode),各模式的功能区分如下:

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

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

插入模式(Insert mode)

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

末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作

在命令模式下,shift+: 即可进入该模式

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


二.vim的基础操作

验证vim安装与版本

vim --version

进入vim

vim pathname   # 用vim打开指定路径下的文件

        特别注意:进入vim后,默认是处于[命令模式],要切换到[插入模式]才能够输入文本

切换模式

[命令模式]切换至[插入模式]

  • 输入 a
  • 输入 i
  • 输入 o

[插入模式]切换至[命令模式]

  • 目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[命令模式]再删除文字。当然,也可以直接删除

[命令模式]切换至[末行模式]

  • 「shift + ;」, 其实就是输入「:」

总结:

退出vim及保存文件

        在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:

  • w (保存当前文件)
  • wq (输入「wq」,存盘并退出vim)
  • q! (输入q!,不存盘强制退出vim)

三.vim正常模式命令集

移动光标

  • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
  • 按[gg]:进入到文本开始
  • 按「shift+g」:进入文本末端
  • 按「n + shift+g」:定位到文本任意一行
  • 按「^」:移动到光标所在行的“行首”
  • 按「$」:移动到光标所在行的“行尾”
  • 按「w」:按照“单词”为单位,向右移动
  • 按「b」:按照“单词”为单位,向左移动
  • 按「ctrl + ww」:在分屏操作下,将光标移至其他分屏

删除文本

  • 「x」:每按一次,删除光标所在位置的一个字符,向右删除
  • 「n + x」:向右删除n个字符
  • 「shift + x」:大写的X,每按一次,删除光标所在位置的“前面”一个字符,向左删除
  • 「n + shift + x」:向左删除n个字符
  • 「dd」:删除光标所在行,单独使用相当于删除,与「p」配合使用相当于“剪切”

替换

  • 「r」:替换光标所在处的字符
  • 「n + r」:替换光标所在处的n个字符

复制粘贴

  • 「yy」:复制光标所在行到缓冲区
  • 「n + yy」:复制光标所在行为第一行,复制n行到缓冲区,实现多行复制
  • 「p」:将缓冲区内的字符贴到光标所在位置
  • 「n + p」:将缓冲区内的字符贴到光标所在位置,并实现多行粘贴

撤销

  • 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次恢复
  • 「ctrl + r」: 对撤销的撤销

退出

  • 「shift + zz」:相当于底行模式下的「wq」,即保存并退出vim

四.vim底行模式命令集

列出行号

  • 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号

查找关键字

  • 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止
  • 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止

保存文件

  • 「w」: 在冒号输入字母「w」就可以将文件保存起来

退出vim

  • 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim
  • 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件

多文件分屏

  • 「vs 文件名」:分屏操作,常用于多文件代码

五.其他模式

替换模式

        在[命令模式]下,按一下「shift + r」进入「替换模式」

  • 批量化内容替换:「替换模式」中在光标所在的位置编写文本可直接覆盖原有的文本


视图模式

        在[命令模式]下,按一下「ctrl + v」进入「视图模式」

  • 批量化注释:

  • 批量化去注释


模式总结


六.vim简单配置

配置文件的位置

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

常用配置选项

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

使用插件

  • 推荐:VimForCpp: 快速将vim打造成c++ IDE

七.总结

        Vim 是一款功能强大的终端文本编辑器,掌握它涉及理解其核心概念和工作模式(尤其是正常模式和底行模式)。学习重点在于熟练使用各种命令进行光标的快速移动、文本的编辑(删除、替换、复制粘贴、撤销)、文件的保存退出以及查找等基础操作。了解基本的配置选项也能有效提升编辑效率。掌握了 Vim 这个高效的编辑工具,将为我们下期深入理解和使用 gcc/g++ 编译器进行代码编译打下良好的基础

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

相关文章:

  • 谈谈对面向对象OOP的理解
  • Spring MVC 九大组件源码深度剖析(四):HandlerMapping - 请求映射的玄机
  • 问津集 #5:Crystal: A Unified Cache Storage System for Analytical Databases
  • Python自学10-常用数据结构之字符串
  • Windchill 11 Enumerated Type Customization Utility-枚举类型自定义实用程序
  • python---装饰器
  • 光耦,发声器件,继电器,瞬态抑制二极管
  • Rust Async 异步编程(一):入门
  • NestJS 手动集成TypeORM
  • USB 2.0声卡
  • Python中f - 字符串(f-string)
  • 基于Vue的个人博客网站的设计与实现/基于node.js的博客系统的设计与实现#express框架、vscode
  • 进程互斥的硬件实现方法
  • 影刀初级B级考试大题2
  • 快速掌握Hardhat与Solidity智能合约开发
  • 模型提取的相关经验
  • JavaWeb前端(HTML,CSS具体案例)
  • C语言网络编程TCP通信实战:客户端↔服务器双向键盘互动全流程解析
  • Java线程的6种状态和JVM状态打印
  • Vue深入组件:Props 详解3
  • 2.Pod理论
  • Golang database/sql 包深度解析(二):连接池实现原理
  • 云原生俱乐部-RH134知识点总结(3)
  • PyCharm与前沿技术集成指南:AI开发、云原生与大数据实战
  • Spring Boot 项目配置 MySQL SSL 加密访问
  • Debug马拉松:崩溃Bug的终极挑战
  • 本地处理不上传!隐私安全的PDF转换解决方案
  • 华为云之Linux系统安装部署Tomcat服务器
  • Git 命令指南:从 0 到熟练、从常用到“几乎全集”(含常见报错与解决)建议收藏!!!
  • LintCode第137-克隆图