目录
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中去执行即可
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 关于.Net 6.0 在Linux ,Docker容器中,不安装任何依赖就生成图形验证码!!!!!!!!!!!
在.Net Framework时代,我们生成验证码大多都是用System.Drawing。 在.Net 6中使用也是没有问题的。 但是,System.Drawing却依赖于Windows GDI+。 为了实现跨平台,我陷入了沉思!! 微软推荐使用SkiaSha…