vim编辑器基础

本文详细介绍Vim编辑器的基本操作,包括模式切换、文本编辑、文件管理等核心功能,适用于初学者快速掌握Vim使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vim简介

  vim是从vi发展出来的一个文本编辑器,熟练使用会比普通编辑器更高效(全键盘操作),在程序员中被广泛使用。使用命令与组合键来代替鼠标与键盘,大大提高程序员和文字录入员的速度和效率,并且vim有很多模式可以进行转换,简单介绍经常用的其中六种模式:

普通模式(Normal mode)
 在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。
  vim强大的编辑能来自于其普通模式命令。普通模式命令往往需要一个操作符结尾。例如普通模式命令dd删除当前行,但是第一个"d"的后面可以跟另外的移动命令来代替第二个d,比如用移动到下一行的"j"键就可以删除当前行和下一行。另外还可以指定命令重复次数,2dd(重复dd两次),和dj的效果是一样的。在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(append/追加)键或者i(insert/插入)键。

插入模式(Insert mode)
  在这个模式中,大多数按键都会向文本缓冲中插入文本。大多数新用户希望文本编辑器编辑过程中一直保持这个模式。在插入模式中,可以按ESC键回到普通模式。

可视模式(Visual mode)
  这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim的"文本对象"也能和移动命令一样用在这个模式中。

选择模式(Select mode)
  这个模式和无模式编辑器的行为比较相似(Windows标准文本控件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。

命令行模式(Command line mode)
  在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。

Ex模式(Ex mode)
  这和命令行模式比较相似,在使用:visual命令离开Ex模式前,可以一次执行多条命令。这其中我们常用到就是普通模式、插入模式和命令行模式。

文件保存

  进入命令行,输入:w表示保存,:q表示退出,也可以组合为:wq:q!强制退出,:x也为保存并退出。
  进入命令行模式后输入 :e 文件路径 同样可以打开相应文件。
  :w 文件名或路径 //保存文件并重命名,也可以保存到某一路径下

在普通模式下的光标移动

在该模式下使用方向键或者h,j,k,l键可以移动游标,命令如下:
在这里插入图片描述

进入插入模式

不同的从普通模式进入插入模式的方法:
在这里插入图片描述
一般经常就是用i或a。

退出vim

以下为几种退出方式:
在这里插入图片描述
普通模式下也可以用快捷键保存并退出:Shift+zz

删除文本

进入普通模式即可使用删除,不用进入命令行模式:
在这里插入图片描述
  在命令前面可以加数字,表示一次删除多个,如:2dd表示一次删除2行,10x表示连续删除10个字符,daw(delete a word)删除一个单词,d5w表示删除5个单词。

Vim重复命令

  .(小数点)表示重复上一个命令,比如在普通模式下使用x删除字符,之后可以按.就可以代替x来删除字符。

游标的快速跳转

行间跳转:
  nG:游标移动到第n行(若没有显示行号,请先进入命令模式,输入:set nu以显示行号)
  gg:游标移动到第一行
  G:到最后一行
  小技巧:你在完成一次跳转后,可以使用 Ctrl+o 快速回到上一次(跳转前)光标所在位置
行内跳转(在行内按照单词为单位进行跳转):
在这里插入图片描述

复制粘贴和剪贴

普通模式中使用y复制:
  普通模式中,yy复制游标所在的整行(3yy表示复制3行)
  普通模式中,y^复制至行首,或y0。不含光标所在处字符。
  普通模式中,y$ 复制至行尾。含光标所在处字符。
  普通模式中,yw 复制一个单词。
  普通模式中,y2w 复制两个单词。
  普通模式中,yG 复制至文本末。
  普通模式中,y1G 复制至文本开头
普通模式中使用 p 粘贴:
  普通模式中,p(小写)代表粘贴至光标后(下)
  普通模式中,P(大写)代表粘贴至光标前(上)
  前面介绍的删除行dd其实就是剪贴命令,你每次 dd 删除文档内容后,便可以使用 p 来粘贴
交换上下行:ddp //就是删除当前行后再粘贴

字符的替换和撤销(Undo)操作

替换和Undo命令都是针对普通模式下的操作
在这里插入图片描述

快速缩进

缩进操作均在普通模式下有效
  >> 向右缩进
  << 向左缩进
普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数。
  :set shiftwidth? //查询当前缩进值
  :set shiftwidth=10 //缩进调整为10个字符
在命令行模式下
  :ce //本行居中
  :ri //本行靠右
  :le //本行靠左

查找

快速查找:
  普通模式下输入 /然后键入需要查找的字符串按回车后就会进行查找。/功能相同,只不过 是向上而 /是向下查找。
  进入查找之后,输入n 和 N 可以继续查找。n(小写)是查找下一个内容,N(大写)查找上一个内容。
高级查找:
  普通模式下输入\*寻找游标所在处的单词
  普通模式下输入\#同上,但\# 是向前(上)找,\*则是向后(下)找
  普通模式下输入g\*\* ,但部分符合该单词即可
  普通模式下输入g\#\#,但部分符合该单词即可
  以上查找n,N 的继续查找命令依然可以用

多文件编辑

新建俩个文件,默认进入1.txt文件的编辑界面
  vim 1.txt 2.txt
再进入命令行模式
  :n //表示切换到下一个文件也就是2.txt,如果1.txt未保存则会提示
  :n! //强制切换到下一个文件,如果上一个文件未保存则丢失
  :N //切换到上一个文件
  :N! //
进入vim后打开新文件:
  命令行模式下输入:e 3.txt 打开新文件3.txt
  命令行模式下输入:e#回到前一个文件
  命令行模式下输入:ls可以列出以前编辑过的文档
  命令行模式下输入:b 2.txt(或者编号)可以直接进入文件2.txt编辑
  命令行模式下输入:bd 2.txt(或者编号)可以删除以前编辑过的列表中的文件项目

恢复文件

  如果因为断电等原因造成文档没有保存,可以采用恢复方式,vim -r进入文档后,输入:ewcover 1.txt来恢复
  vim -r 1.txt

可视模式简介

  在普通模式下输入v(小写),进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下v后就会取消选取。
  在普通模式下输入V(大写),进入行选择模式,按下V之后就会把整行选取,您可以上下移动光标选更多的行,同样,再按一次V就可以取消选取。
  在普通模式下输入 Ctrl+v(小写),这是区域选择模式,可以进行矩形区域选择,再按一次Ctrl+v取消选取。
当执行一个非移动命令时,命令会被执行到这块高亮的区域上,如:
  在可视模式下输入 d 删除选取区域内容
  在可视模式下输入y复制选取区域内容

视窗操作

  vim 可以在一个界面里打开多个窗口进行编辑,这些编辑窗口称为 vim 的视窗。可以使用在命令行模式下输入:new打开一个新的 vim 视窗,如
  vim 1.txt //新建一个文本
  命令行模式下输入:new打开一个新的vim视窗
  命令行模式下输入:vsp 2.txt打开新的横向视窗来编辑2.txt
  命令行模式下输入:vsp 3.txt打开新的横向视窗来编辑3.txt
  可以使用Ctrl+w进行视窗间的跳转
  分别在不同视窗的命令行模式下输入:q!退出多视窗编辑

文档加密

  vim -x file1 //创建加密文档
  创建时要输入你的密码 确认密码 这样在下一次打开时,vim就会要求你输入密码。

在vim中执行外部命令

在命令行模式中输入!可以执行外部的shell命令,如:
  :!ls用于显示当前目录的内容
  :!rm FILENAME用于删除名为 FILENAME 的文件
  :w FILENAME可将当前 VIM 中正在编辑的文件另存为 FILENAME 文件

功能设定

获取目前的设定
  命令行模式下输入:set或者:se显示所有修改过的配置
  命令行模式下输入:set all 显示所有的设定值
  命令行模式下输入:set option?显示option的设定值
  命令行模式下输入:set nooption 取消当前设定值
set功能的说明
  命令行模式下输入:set autoindent(ai) 设置自动缩进
  命令行模式下输入:set autowrite(aw)设置自动存档,默认未打开
  命令行模式下输入:set background=dark或light,设置背景风格
  命令行模式下输入:set backup(bk)设置自动备份,默认未打开
  命令行模式下输入: set cindent(cin)设置C语言风格缩进

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值