常用vim操作的实例详解

发布时间 - 2017-07-18 00:00:00    点击率:

本篇是对常用vim操作的自我总结,大神请回避,适合小白观看。


vim 打开退出保存

打开:
直接打开 vim practice_1.txt
也可以先打开vim,后:e 文件路径

保存:
:w 文件名
或者退出保存:wq!

普通模式下退出vim:Shift+zz


vim 移动和进入插入模式

移动:
w下一个单词
b上一个单词

进入插入模式
命令 说明
i 在当前光标处进行编辑
I 在行首插入
A 在行末插入
a 在光标后插入编辑
o 在当前行后插入一个新行
O 在当前行前插入一个新行
cw 替换从光标所在位置后到一个单词结尾的字符


 

vim 选择模式

v(小写),进入字符选择模式
Shift+v(小写),进入行选择模式
Ctrl+v(小写),这是区域选择模式,可以进行矩形区域选择,
在可视模式下输入d删除选取区域内容
在可视模式下输入y复制选取区域内容


 

vim行间跳转和行内跳转

nG 跳到第n行
gg 第一行
G最后一行
ctrol + o 跳到上一次跳转时的位置,可以重复类似history

命令 说明
w 到下一个单词的开头
e 到下一个单词的结尾
b 到前一个单词的开头
ge 到前一个单词的结尾
0或^ 到行头
$ 到行尾
f 向后搜索并跳转到第一个匹配的位置(非常实用)
F 向前搜索并跳转到第一个匹配的位置
t 向后搜索并跳转到第一个匹配位置之前的一个字母(不常用)
T 向前搜索并跳转到第一个匹配位置之后的一个字母(不常用)


 

vim复制粘贴

y复制
普通模式中,yy复制游标所在的整行(3yy表示复制3行)
普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。
普通模式中,y$ 复制至行尾。含光标所在处字符。
普通模式中,yw 复制一个单词。
普通模式中,y2w 复制两个单词。
普通模式中,yG 复制至文本末。
普通模式中,y1G 复制至文本开头。
p粘贴
普通模式中,p(小写)代表粘贴至光标后(下)
普通模式中,P(大写)代表粘贴至光标前(上)
d剪切


 

vim删除快捷键

命令 说明
x 删除游标所在的字符
X 删除游标所在前一个字符
Delete 同x
dd 删除整行
dw 删除一个单词(不适用中文)
d$或D 删除至行尾
d^ 删除至行首
dG 删除到文档结尾处
d1G 删至文档首部

命令之前加数字表示重复操作
2dd


 

vim 多文件编辑

vim 1.txt 2.txt
进入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

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


 

vim显示行号

:set nu


 

vim替换

r+ 将游标所在字母替换为指定字母
R 连续替换,直到按下Esc
cc 替换整行,即删除游标所在行,并进入插入模式
cw 替换一个单词,即删除一个单词,并进入插入模式
C(大写) 替换游标以后至行末
~ 反转游标所在字母大小写
u{n} 撤销一次或n次操作
U(大写) 撤销当前行的所有修改
Ctrl+r redo,即撤销undo的操作


 

vim 查找

/icmp 向后查找icmp
? tcp 向前查找tcp
n下一个
N移动到上一个


 

Vim重复命令

.
也可以输入数字在命令前


 

vim 内部执行外部命令

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


 

vim 文本对齐

:ce
:ri
:le


 

vim 文档加密

vim -x file1


 

vim缩进

>>
查看设置:
set shiftwidth?
设置值:
set shiftwidth=10


 

vim设置

2.7.1 vim的功能设定
vim的配置文件~/.vimrc(实验楼环境中配置文件在/etc/vim/vimrc),可以打开文件进行修改,不过务必小心不要影响vim正常使用

2.7.2 获取目前的设定

命令行模式下输入:set或者:se显示所有修改过的配置
命令行模式下输入:set all 显示所有的设定值
命令行模式下输入:set option? 显示option的设定值
命令行模式下输入:set nooption 取消当期设定值
2.7.3 set功能的说明

命令行模式下输入:set autoindent(ai) 设置自动缩进
命令行模式下输入:set autowrite(aw) 设置自动存档,默认未打开
命令行模式下输入:set background=dark或light,设置背景风格
命令行模式下输入:set backup(bk) 设置自动备份,默认未打开
命令行模式下输入: set cindent(cin) 设置C语言风格缩进


 


# linux  # 命令行  # 模式下  # 第一个  # 文档  # 跳转到  # 跳转  # 正在编辑  # 行号  # 跳到  # 配置文件 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  Laravel模型事件有哪些_Laravel Model Event生命周期详解  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  香港服务器租用每月最低只需15元?  如何快速建站并高效导出源代码?  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  香港服务器如何优化才能显著提升网站加载速度?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  网站建设整体流程解析,建站其实很容易!  中山网站制作网页,中山新生登记系统登记流程?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel如何实现数据库事务?(DB Facade示例)  Android okhttputils现在进度显示实例代码  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  高端企业智能建站程序:SEO优化与响应式模板定制开发  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  昵图网官网入口 昵图网素材平台官方入口  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何用PHP工具快速搭建高效网站?  如何解决hover在ie6中的兼容性问题  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  如何在万网自助建站平台快速创建网站?  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  javascript如何操作浏览器历史记录_怎样实现无刷新导航  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel如何自定义错误页面(404, 500)?(代码示例)  如何为不同团队 ID 动态生成多个“认领值班”按钮  Laravel如何实现一对一模型关联?(Eloquent示例)  如何撰写建站申请书?关键要点有哪些?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  微信推文制作网站有哪些,怎么做微信推文,急?  如何快速搭建高效WAP手机网站?  javascript中的try catch异常捕获机制用法分析  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Win11怎么设置默认图片查看器_Windows11照片应用关联设置