博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4.VIM编辑器
阅读量:7192 次
发布时间:2019-06-29

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

安装VIM

检查是否安装vim或vi

[root@app ~]# rpm -qf `which vim`[root@app ~]# rpm -qf `which vi`

安装vim

yum -y install vim

问:vi和vim是同一个软件包安装的吗?

答:NO,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完全兼容vi

vim编辑器模式

首次进入文件 ---- 命令模式

输入aioAIO,出现 “Insert” ---- 编辑模式
输入: ---- 命令行模式
输入v ---- 可视模式
输入ctrl+v ---- 可视块模式

问:从编辑模式到命令行模式怎样切换?

答:编辑模式->esc->命令模式->: ->命令行模式
问:字符操作(怎样进入编辑模式?)
答:进入编辑模式 a i o A I O
说明:

i当前字符之前插入 (光标前)I行首插入  (行首)a当前字符之后插入 (光标后)A行尾插入(行尾)o下一行插入 (另起一行)O上一行插入(上一行插入)x向后删除一个字符,等同于deleteX向前删除一个字符         u撤销一步,每按一次就撤销一次r 替换

命令模式下的操作

hjkl 左下上右0和home键表示切换到行首,$和end键表示切换到行尾gg 快速定位到文档的首行 ,  G定位到未行3gg 或者 3G  快速定位到第3行/string(字符串) 找到或定位你要找的单词或内容,如果相符内容比较多,我们可以通过N、n来进行向上向下查找,并且vi会对查找到的内容进行高亮显示,取消用 :noh/^d ^意思表示以什么开头 ,,查找以字母d开头的内容/t$ $意思表示以什么结尾,,查找以字母t结尾的内容vim + a.txt  打开文件后,光标会自动位于文件的最后一行y 复制(以字符为单位) :表示对单个字符进行复制,如果要复制整行,用yy(以行为单位)   复制N行:Nyy,比如:2yy,表示复制2行dd(删除,以行为单位,删除当前光标所在行,也是剪切的意思)删除N行: Ndd  ,比如: 2dd ,表示删除2行P粘贴x 删除光标所在位置的字符D 从光标处删除到行尾u 撤销操作 ctrl+r  还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样r 替换,或者说用来修改一个字符

v模式(列)

编程的时候需要进行多行注释:

1)、ctrl+v 进入列编辑模式2)、向下或向上移动光标,把需要注释、编辑的行的开头选中起来4)、然后按大写的I5)、再插入注释符或者你需要插入的符号,比如"#"6)、再按Esc,就会全部注释或添加了

删除:再按ctrl+v 进入列编辑模式;向下或向上移动光标 ;选中注释部分,然后按d, 就会删除注释符号。

命令行模式操作

:w 保存:w! 强制保存:q 没有进行任何修改,退出 quit:q! 修改了,不保存,强制退出:wq 保存并退出 :wq! 强制保存并退出:x 保存退出!+命令 调用外部命令,比如:!ifconfig:r /etc/hosts 读取外部文件,把其他文件中的内容追加到当前文档中

文本替换

格式 : 范围(其中%所有内容)s 分隔符 旧的内容 分隔符 新的内容(分隔符可以自定义),默认是每一行的第一个符合要求的词 (/g全部/i忽略大小写)

:1,3 s/bin/app    替换第1到3行中出现的第一个bin进行替换为app:1,3 s/bin/app/g  替换第1到3行中查找到所有的bin进行替换为app:3 s/xue/aaaaa    只把第3行中内容替换了:% s/do/app/g        将文本中所有的do替换成app:% s/do/app/gi      将文本中所有的do替换成app, 并且忽略do的大小写:% s@a@b@g          将文本中所有的a替换成

自定义vim使用环境

临时设置

:set nu  设置行号:set nonu 取消设置行号:noh   取消高亮显示

永久设置环境

vim /etc/vimrc  设置后会影响到系统所有的用户~/.vimrc   #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己创建一个

vim打开多个文件

方法1:以上下形势,打开两个文档

vim -o /etc/passwd /etc/hosts

方法2:以左右方式打开两个文档

vim -O /etc/passwd /etc/hosts

ctrl+ww:在两文档之间进行切换编辑。大写O左右分屏,小写的o上下分屏

比较两个文件内容

diff /etc/passwd mima.txtvimdiff /etc/passwd mima.txt

两个小问题

1:在windows中编辑好的汉字文本文档,上传到Linux下打开乱码

原因:编码的问题解决方法:通过iconv命令转码参数:-f, --from-code=名称 原始文本编码-t, --to-code=输出编码-o, --output=FILE 输出文件名例如:iconv -f gb2312 -t utf8 a乱码.txt -o aa.txt

2:解决将Linux服务器上脚本导到windows上打开串行的问题

原因:因为windows和linux处理回车方法不同解决方法:安装dos2unixrpm -ivh /mnt/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm注:在centos7上,unix2dos这个命令已经被集成到dos2unix-6.0.3-7.el7.x86_64.rpm包中。在centos6下需要安装unix2dos.xxx.rpm例如:unix2dos b没有换行.sh

转载地址:http://lzxkm.baihongyu.com/

你可能感兴趣的文章
硬驱丢失
查看>>
从n个自然数中任取r个数的所有组合(递归算法)
查看>>
数据库事务处理差异:可提交读和重复读区别
查看>>
与大师Jack Jarkv的交流分享后的思考
查看>>
Windows Server入门系列27 利用字符界面管理用户和组
查看>>
SSL证书常见错误和解决办法
查看>>
数组指针和指针数组的区别
查看>>
hdfs架构组成部分
查看>>
制作一个小黄鸭转圈跳舞的页面。
查看>>
iOS的Runtime机制下给类别(category)添加属性、替换原有类的方法执行
查看>>
数据结构实验 第一单元 集合交并
查看>>
Unity 3D读取Excel表格、导入信息、导出Json
查看>>
html5-文件的基本格式
查看>>
css3 练习
查看>>
iPad中国内地商标权诉讼调查
查看>>
[UIKit学习]05.关于plist
查看>>
JPEG-LS extensions标准
查看>>
【1171】C语言实验——保留整数 (栈)SDUT
查看>>
SQLite查询记录总数
查看>>
聚类算法优秀博客链接
查看>>