ANSHENG'S BLOG
初入编辑器之神:Vim
# linux# vimpublishDate · 2018-12-16 / lastEditedTime · 2022-04-06 04:50:00

Vim是一款功能强大、高度定制的文本工具。

Vim安装

  • Ubuntu
apt install vim

vi和vim是什么关系?

  • vi

可视化接口(visual interface),EX(行文本编辑器)的可视化接口

  • vim

vi(VIM - Vi IMproved)的加强版本

  • 增加了多级撤销

  • 多窗口操作

  • 提高了稳定性,减少了崩溃以及崩溃后也可以恢复

  • 关键字自动补全以及上下文相关的补全

vim工作模式

  • 普通模式

vim打开一个文件时的默认模式(命令模式)

  • 插入模式

键盘上的i键盘即进入插入模式,o/a都可以进入插入模式

  • 命令行模式

shift+:即可进入命令行模式

:set nulber # 显示行号

配置文件子/etc/vim/vimrc或者~/.vimrc

  • 可视化模式

键盘上的v进入可视化模式,上下左右移动光标选中文本,可以进行后续的粘贴、删除、复制等操作

  • 替换模式

R就可以进入到替换模式

光标移动

  • 单个字符移动

10>l向左移动10个字符

  • 单词移动

  • 行移动

  • 文本块移动

  • 在屏幕中移动

滚屏与跳转

  • 半屏滚动

  • 全屏滚动

  • 定位光标的位置

  • 设置跳转标记

文本插入操作

文本删除

  • 字符删除

  • 单词删除

  • 行删除

  • 行合并

文本复制、剪切与粘贴

  • 复制文本块

  • 首先进入visual模式:v

  • 移动光标选择文本

  • 复制与粘贴的操作

文本修改与替换

组合命令使用

文本查找与替换

  • 字符串查找

  • 设置高亮显示

:set hls

  • 按键将当前光标处的单词高亮显示

  • 使用n浏览下一个查找高亮的结果

  • 字符串替换

修改的撤销、重做和保存

编辑多个文件

  • 文件和缓冲区的区别

  • 文件是保存在磁盘上的,而打开的文件的文件是在内存中

  • 在内存中有一个缓冲区,用来存放打开的文件

  • vim 每次打开文件时都会创建一个缓冲区,vim 支持打开多个文件

:set autowrite

标签页与折叠栏

标签页的新建:tabedit file/tab split

标签页的切换: tabn/tabp 按键:gt/gT

标签页的关闭: tabclose 关闭当前的标签页,:tabonly

  • 创建一个折叠

zf200G: 将光标和 200 行之间的代码折叠起来

  • 折叠的打开与关闭

  • za: 打开和关闭折叠

  • zr/zm: 一层一层地打开和关闭折叠

  • zR/zM: 分别打开和关闭所有的折叠

  • 折叠键的光标移动

  • zj: 跳转到下一个折叠处

  • zk: 跳转到上一个折叠处

  • 删除折叠