vim是一款多模式的编辑器。正好和vs这种集成开发环境相反,vim的存在很多模式,我们目前主要掌握三种模式即可。分别是命令模式(command mode),插入模式(Insert mode),底行模式(last line mode)。一共有12种模式:six BASIC modes和six ADDITIONAL modes。各模式的功能区分如下:
- 正常/普通/命令模式(Normal mode)(核心模式)
允许使用者通过命令来进行文本的编辑控制。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
- 插入模式(Insert mode)
编辑模式。只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
- 末行/底行模式(last line mode)
用来进行让vim进行包括但不限于shell进行交互的。文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。
:help vim-modes
vim的基本操作
进入vim(正常模式)
- 进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面。
注意:不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。刚打开时,暂时无法正常输入。
$ vim test.c
正常模式->插入模式
- 输入a
- 输入i
- 输入o
插入模式->正常模式
目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
- 按动ESC
正常模式->底行模式
- 「shift + ;」, 其实就是输入「:」
底行模式->正常模式
- 按动ESC
底行模式->退出vim
退出vim及保存文件,在[正常模式]下,按一下「shift+;=:」冒号键进入「Last line mode」
- : w (保存当前文件)
- : wq (输入「wq」,存盘并退出vim)
- : q! (输入q!,不存盘强制退出vim)
- 生命周期是打开到退出。若打开一个不存在的文件,没有写入内容,只有保存并且推出了文件才创建成功,若没有保存直接退出,文件依旧不存在。
vim正常模式命令集
- yy:复制当前行
- n+yy:连续复制n行
- p:粘贴,粘贴到当前光标的下一行
- n+p:表示连续粘贴n行
- u:撤销
- ctrl+r:对历史撤销。进行撤销
- shift+4=$:将光标定位到当前行的结尾
- shift+6=^:将光标定位到当前行的开始
- gg:将光标定位到整个文本文件的最开头
- shift+g=G:将光标定位到整个文本文件的最结尾
- n+shift+g=G:将光标定位到整个文本文件的任意一行
- 除了键盘的上下左右。h,j,k,l:可以表示左下右上
- n+(h,j,k,l):可以表示n个左下右上
- h左,j(jump下),k(king,上),i(上)
- w:按照单词为单位进行光标后移动
- b:按照单词为单位进行光标前移动
- shift+`=~:大小写快速切换
- x:删除光标后续的一个字符
- n+x:删除光标后续的n个字符
- shift+x=X:删除光标之前的一个字符
- n+shift+x=X:删除光n个字符
- r:对光标指定的位置,进行一个字符的替换
- n+r:对光标指定的位置,进行n个字符的替换
- shift+r=R:进入替换模式,直接进行文本替换
- shift+zz=ZZ:保存并且退出
vim末行模式命令集
- 在输入之前确保自己处于【底行模式】下:shift+;=:
- w:保存
- q:退出
- wq:保存并且退出
- !:强制
- set nu:打开行号
- nonu:去掉行号
- !command:不退出vim,可以进行shell命令的执行,常用函数查看。
- vs filename:多文件操作。
Q1Linux底下多文件操作
- 垂直:vs new.c
- 水平:new.c
- ctrl+6
Q2批量化注释和去注释
批量加注释
- ctrl+v
- hjkl区域选择
- shift+i=I
- //
- ESC
批量去注释
- ctrl+v
- hjkl区域选择
- 包含且仅包含//
- d
Q3ctrl+z和断网的情况
当你按下【ctrl+z】或者断网的时候,回出现以下情况!
这是Linux中的vim防止文件数据丢失创建一个临时文件。此时你会发现你的vim并没有停止运行。此时你只需要删除临时文件即可。
Q4sudo提权
- 打开白名单→在更目录下→必须用root账号修改
- vim /etc/sudoers
- 在100行左右加入自己即可(除了用户其他全部一样)
- 修改成功保存即可
Q5vim配置
- 原理:vim不是简单直接执行可执行程序,也会读取若干程序。.vimrc
- 在.vimc配置即可
- 一键配置VimForCpp: 快速将vim打造成c++ IDE (gitee.com)
配置文件位置
- 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
- 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,
- 通常已经存在一个.vimrc文件,如果不存在,则创建之。
- 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
- 打开自己目录下的.vimrc文件,执行 vim .vimrc
常用配置选项
- 设置语法高亮: syntax on
- 显示行号: set nu
- 设置缩进的空格数为4: set shiftwidth=4
- 上网搜索
使用插件
Linux编译器-vim使用
vi/vim的区别简单点来说,它们都是多模式编辑器,不同是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。我们课堂上,统一按照vim来进行讲解。
- 思维导图
- 打开/关闭/查看/查询/插入/删除/替换/撤销/复制/粘贴等操作来分类记忆
🙂感谢大家的阅读,若有错误和不足,欢迎指正