Linux之vim文本编辑器(超详细)

vim编辑器是Linux系统中功能最强大的全屏幕文本编辑器,相信接触过Linux的玩家和爱好者一定对此不陌生,基本是首选的编辑器,此外,它还可以根据用户的需求来进行定制。
在使用时,只需要在命令提示符或终端上直接输入vim或vim 加文件名就可以启动vim编辑器,下面就来介绍一下vim的各种使用:

vim的工作模式

vim编辑器有3种工作模式,分别是命令模式、输入/编辑模式、末行/指令模式,它们之间的转换关系如图所示:
在这里插入图片描述
1)命令模式
无论用户当前处于何种模式,只要按下ESC键,则立即进入命令模式,在该模式中允许用户输入vim命令对文件进行管理,常见的命令如:

命令                       说明
光标定位:

 - g                    该命令用于跳到文件最后一行
 - o                    移动光标到当前行的首行
 - $                    移动光标到当前行的尾行
 
字符的搜索
 - /想要搜索的字符   如/str    正向查找,从当前页开始向后搜索字符串str
 - ?想要搜索的字符   如?str    反向查找,从当前页开始向前搜索字符串str
 - n                    往相同方向移动到下一个符合被搜索字符串的位置
 - N					往相反方向移动到下一个符合被搜索字符串的位置

复制、粘贴和删除

 - dd					删除光标当前所在行
 - ndd 					删除光标当前所在行开始的n行
 - yy					复制光标当前所在行
 - nyy					复制光标当前所在行开始的n行
 - p					将复制的内容粘贴到当前光标所在行的下一行
 - x					删除当前光标所在位置的一个字符
 -nx					删除从光标所在位置开始向右的n个字符

撤销与重复

 - u					取消所有不恰当的或错误的操作,回到操作之前
 - .					重新执行一遍刚刚执行完的操作

保存与退出

 - wq,x  					保存并退出
 - q!						不保存强制退出
 - wq!						强制保存退出
 - q						退出

2)输入模式
该模式也称插入模式或编辑模式,在该模式下用户输入的内容即成为文件正文并显示在命令模式下,输入i、o、a命令都可以进入该模式,实现对文件的管理,常见命令如:

命令                       说明

光标跳转

1、行间跳转
 - nG	                游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号)
 - gg (G)          	游标移动到到第一行(到最后一行)

2、行内跳转

 - w	                到下一个单词的开头
 - e	                到当前单词的结尾
 - b (ge)	            到前一个单词的开头 (到前一个单词的结尾)
 - 0或^ ($)	            到行头 (到行尾)
 - f<字母> 【F<字母>】	向后【前】搜索<字母>并跳转到第一个匹配的位置(非常实用)

3)末行模式
在命令模式下按下shift+“:”键既可进入该模式,此时在编辑器屏幕的最后一行将显示“:”提示符,在后面输入命令并回车就可以执行,常见命令如:;

命令                            说明
字符串搜索与替换               

 - /str/                        从当前光标开始向后移动到被搜索的字符串str的位置
 - ?str?						从当前光标开始向前移动到被搜索的字符串str的位置
 - :/str/ w file                将包含str的行都写到文件file文件中
 - :/str1,str2/ w  file         将从str1开始到str2技结束的内容都写到文件file文件中
 - :s/str1/str2/g                将所有str1替换成str2   //不带参数g则表示将该行的str1替换成str2

光标的移动

 - :n   如:“:42”				输入要移动的行号回车定位到此行,如移动到第42行

文件相关操作

 - :w                          将当前内容保存
 - :w file					   将当前文件的内容写到file文件中
 - :n1,n2 w file   			   将从n1到n2的内容写到file文件中

文件的复制、粘贴和删除

 - :d                          删除当前光标所在的行
 - :nd						   删除从光标所在行开始的n行
 - :n1,n2 co n3                将从n1到n2之间的内容复制到n3后面
 - :n1,n2 m n3                 将从n1到n2之间的内容移动到n3后面
 - n1,n2 d                     删除n1到n2之间的所有内容
 - :,$d						   删除当前行到行尾之间的所有内容   //将,换成^则表示从开头到行尾之间的所有内容
 - :/str1/,/str2/d             删除从str1到str2之间所有的内容

分屏操作
在配合ctrl +w 和上下左右键可以实现同时编辑多个文件
 - :sp 1.txt                  打开新的水平分屏视窗来编辑1.txt
 - :vsp 2.txt                 打开新的垂直分屏视窗来编辑2.txt
其它操作

1)恢复文件
如果因为断电等原因造成文档没有保存,可以采用恢复方式,vim -r进入文档后,输入:ewcover 1.txt来恢复
2)vim创建加密文件:#vim -x file1 ,然后进去后输入密码后就可以了;或在保存退出时输入大写的X就可
3)在vim执行外部命令:(在命令行模式中输入!可以执行外部的shell命令)如:

:!ls              用于显示当前目录的内容
:!rm FILENAME     用于删除名为 FILENAME 的文件
:w FILENAME       可将当前 VIM 中正在编辑的文件另存为 FILENAME 文件

4)进入vim后想要打开新文件在不使用分屏的情况下:

以下操作在命令模式下
输入:e 3.txt           打开新文件3.txt
输入:e#                回到前一个文件
输入:ls				   可以列出以前编辑过的文档
输入:b 2.txt(或者编号)可以直接进入文件2.txt编辑
输入:bd 2.txt(或者编号)可以删除以前编辑过的列表中的文件项目
输入:e! 4.txt,       新打开文件4.txt,放弃正在编辑的文件
输入:f               显示正在编辑的文件名
输入:f new.txt,     改变正在编辑的文件名字为new.txt
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流 逝 时 间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值