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