博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vim
阅读量:4477 次
发布时间:2019-06-08

本文共 2590 字,大约阅读时间需要 8 分钟。

查看安装路径和安装的软件包

[root@VM_0_15_centos ~]# which vim/usr/bin/vim[root@VM_0_15_centos ~]# rpm -qf `which vim`vim-enhanced-7.4.160-2.el7.x86_64[root@VM_0_15_centos ~]# rpm -qf `which vi`vim-minimal-7.4.160-2.el7.x86_64

一vim编辑器模式

command mode(命令模式) --> edit mode(编辑模式)command mode(命令模式) --> visual edit mode(视图编辑模式)command mode(命令模式) --> extended command mode(扩展命令模式/末行模式)

二vim编辑器模式之间切换

模式之间切换需要先到 命令模式,按ESC键
进入edit mode(编辑模式)
i,在当前字符之前插入    a,在当前字符之后插入    o,在下一行插入    I,行首插入    A,行尾插入    O,上一行插入
进入visual edit mode(视图编辑模式)
v               进入可视模式    ctrl+v          进入可视块模式    V               进入可视行模式
进入exiended command mode(扩展命令模式)
:

三command mode(命令模式)

光标定位

hjkl  左下上右    0和home键  切换到行首    $和end键      切换到行尾    gg          定位到文档的首行     G           定位到文档的末行    ngg / nG    自定义到某行

查找关键字

/string     查找关键字    n           向下查找    N           向上查找    :noh        退出查找

文本编辑

复制    yy          复制光标所在行    5yy         复制5行    剪切/删除    dd          删除光标所在行    6dd         删除6行    粘贴    p           粘贴    恢复    u           将你的操作逐步撤销    ctrl+r      将你的逐步撤销再逐步恢复

其他

x 删除光标所在字符    r 替换光标所在字符    D 从光标删除到行尾

四visual edit mode(视图编辑模式)

通过一个实例会比较容易理解

多行注释实例

1 光标先放在要注释的第一行的行首    2 ctrl+v进入可视块模式    3 向下移动光标,将注释的行都选中    4 按大写的I    5 插入你需要的内容,比如#    6 按esc就会全部添加注释了

删除多行注释

选中内容之后,按d,就会删除了

上述方法适用于所有批量操作场景

五extended command mode(扩展命令模式/末行模式)

w           保存q           内容不改变时,退出wq          保存退出,常用q!          更改了内容之后,想回到上次保存时的状态e!          恢复到上一次保存时的状态
文本替换
场景:/etc/passwd文件中,替换1-3行中每行出现的第一个bin进行替换为xue:1,3 s/bin/xue1-3行全部的bin替换为xue :1,3 s/bin/xue/g替换所有指定行的内容:5 s/bin/xue/g全文范围,将xue改为bin,搜索时候,不区分大小写:% s/xue/bin/gi

六edit mode(编辑模式)

扩展1 调用外部文件或者命令

调用外部命令

场景:写脚本时候想要写入网卡mac地址,

1命令模式下输入 :!ifconfig2复制ether 52:54:00:89:a0:9d3编辑模式下粘贴

调用外部文件

1命令模式下输入 :r /etc/passwd2会自动将passwd文件写入到当前文件

扩展2 vim异常退出

touch.txt文件异常退出,再次进入该文件会出现修复界面,该如何修复呢

1直接在修复界面输入命令
只读方式打开 O直接编辑    E恢复      R删除交换文件 D退出      Q中止      A
2在命令行通过命令恢复
q退出该界面用命令修复vim -r touch.txt
补充

.touch.txt.swp文件保存着你上次意外退出还没有保存的文件

上面两种方法都需要将.touch.txt.swp删除,否则会一直提示让你修复文件

扩展3 设置环境

临时设置
:set nu 设置行号:set ic 不区分大小写:set list 显示控制字符:set nonu 取消设置行号
永久设置环境
vim /etc/vimrc          设置后影响系统所有用户vim ~/.vimrc            用户家目录设置后,影响某一用户

在文件下添加内容 set nu 保存会生效

扩展4 打开两个文件

左右方式打开两个文件

vim -O /etc/passwd /etc/hosts

在两个文件中切换

ctrl+ww

扩展5 比较两个文件

有两个命令来对比两个文件,但vimdiff命令会列出两个文件来对比,更加直观

[root@VM_0_15_centos ~]# cp /etc/passwd /etc/mima[root@VM_0_15_centos ~]# echo hhhhhhh >> /etc/mima [root@VM_0_15_centos ~]# diff /etc/passwd /etc/mima 28a29> hhhhhhh[root@VM_0_15_centos ~]# vimdiff /etc/passwd /etc/mima 2 files to edit

:qa 退出两个文件

转载于:https://www.cnblogs.com/inmeditation/p/10707514.html

你可能感兴趣的文章
(转载)linux下各个文件夹的作用
查看>>
转 能说明你的Javascript技术很烂的五个原因
查看>>
省电的iPhone定位
查看>>
easyUI解析器
查看>>
POJ 2411 压缩状态DP
查看>>
用requests库和BeautifulSoup4库爬取新闻列表
查看>>
mac 安装mysql + 修改root用户密码 + 及报Access denied for user 'root'@'localhost' (using password:YES)解决办法...
查看>>
ESB---企业服务总线
查看>>
svg学习(三)rect
查看>>
面向对象的注意事项
查看>>
SoftReference和WeakReference (转载)
查看>>
MongoDb Driver For Net
查看>>
log4js日志管理
查看>>
自己写的还有问题的SD卡IP
查看>>
如何生成随机码
查看>>
Django rest framework 应用解答
查看>>
闭包中的 this 对象
查看>>
SQL Server 中的嵌套事务与@@TranCount(转)
查看>>
用控制台测试多个线程
查看>>
openstack里给云主机配置vip
查看>>