Vim教程

目录

[vim 介绍](#vim 介绍)

常用的四种模式

首先先学会如何正确进入和退出vim:

normal模式

insert模式:

command模式:

v-block模式:

vim异常退出

vim配置


vim 介绍

Vim是一款高度可定制的文本编辑器,它的前身是Vi,但又在Vi的基础上做了很多改进和增加。Vim是自由软件,在类Unix系统中常被使用。虽然Vim需要一定的学习才能掌握,但其掌握之后可以非常高效地进行文本编辑。

Vim以类似于在普通编辑器中移动光标的方式进行文本编辑,这种编辑方式被称为"命令模式"。除此之外,Vim还提供了"插入模式"和"底行模式",可以让你在插入文本或在执行命令时更方便地操作。

Vim的另一个特点是其丰富的快捷键和命令,这使得用户可以用极少的按键来完成复杂的编辑操作。例如,用户可以通过在底行模式下输入简单的命令,如"w",来保存当前编辑的文件。

Vim的学习曲线虽然较为陡峭,但其强大的定制性可以满足用户各种各样的需求。例如,用户可以根据自己的喜好和习惯来设置Vim的各种选项和映射,不仅可以在终端运行,也可以运行于x window、 mac os、windows,Linux CentOS中安装vim:sudo yum install vim

常用的四种模式

Vim模式有很多种,但是最常用的是四种模式:正常模式(normal)、底行模式(command)、编辑模式(insert)、视觉模式(v-block).

首先先学会如何正确进入和退出vim:

vim 文件名 ------ 文件名可以是当前路径下存在的或者是携带路径的文件名,也可以是不存在的文件名(进入编辑后保存则会保存在当前文件夹)

打开文件,需要文件权限,如果没有r权限,则会打开失败,显示空的vim界面

如果没有r权限,打开文件后会有一个小锁的标志,表示只读

正常打开vim后,默认是normal模式,如果要退出,需要转换到command模式(shift + ;)然后输入q,回车 或 q!,回车,强制退出;如需保存并退出,可以输入wq / wq! ,回车。

normal模式

进入vim的默认模式,其他模式都可以通过Esc键退回到normal模式

通过h、j、k、L(左、下、上、右)或方向键移动光标

逐个移动太慢的话,可以快速移动光标

  • gg:定位到文本的第一行

  • (n) + G: 定位到文本的最后一行 或 第n行

  • ^:定位到所在行文本的结尾

  • $:定位到所在行文本的开始

    属于正则表达

  • 0:定位到所在行的最左侧

  • w:以单词为单位,向移动光标,支持跨行

  • b:以单词为单位,向移动光标,支持跨行

移动光标后,如果只是简单的文本操作,不必转到编辑模式:
复制粘贴

(n) + dd:剪切当前行开始的n行文本(如果剪切后不管了,不就是删除呗)

(n) + yy:复制当前行开始的n行文本

(n) + p:粘贴剪切板内容n次
文本修改:

~:文本大小写转化

(n) + r:覆盖光标开始的n个字符,行内操作

(n) + x:删除光标开始的n个字符,行内操作
其他操作:

#:查找同名单词,n同单词跳转

ctrl + r:撤销

u:撤销
以上两个撤销可以互相撤销对方的撤销

insert模式:

文本编辑的主要模式,通过在normal模式中键a/i/o进入
a/i/o

  • a进入:光标向后一格并进入
  • i进入:光标不动并进入
  • o进入:在光标所在行下重新开一行并移动光标到新行进入
    insert模式下,只能通过方向键移动光标或者返回normal模式移动光标

command模式:

  • set nu:显示行号

  • -set nonu:不显示行号

  • /关键字:查找关键字,键入n切换搜索结果

  • !+ Linux中的指令:可以在vim中执行指令并看到返回结果

  • vs + 其他文件名:同框显示文件,通过ctrl + ww切换文件的光标

v-block模式:

主要是用该模式来做批量化操作,如多行注释等

通过在normal模式下ctrl + v 进入

多行注释

vim异常退出

如果在vim打开文件的过程中,突然断开连接/关机,导致vim异常退出,下次再用vim打开文件的时候,会有提示,ll -a,删除备份文件即可

vim配置

自动化部署配置:VimForCpp

链接:https://gitee.com/HGtz2222/VimForCpp?_from=gitee_search

目前只支持CentOS 7

直接复制这串脚本到linux中去执行即可

相关推荐
Abladol-aj1 小时前
并发和并行的基础知识
java·linux·windows
HPC_fac130520678161 小时前
科研深度学习:如何精选GPU以优化服务器性能
服务器·人工智能·深度学习·神经网络·机器学习·数据挖掘·gpu算力
JunLan~5 小时前
Rocky Linux 系统安装/部署 Docker
linux·docker·容器
南东山人6 小时前
一文说清:C和C++混合编程
c语言·c++
方竞6 小时前
Linux空口抓包方法
linux·空口抓包
sun0077007 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu
海岛日记7 小时前
centos一键卸载docker脚本
linux·docker·centos
oi778 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器