一.关于vim编辑器

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。vim可以当作

vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。

[root@node5 ~]# rpm -qf `which vim`
vim-enhanced-7.4.160-5.el7.x86_64
[root@node5 ~]# rpm -qf `which vi`
vim-minimal-7.4.160-2.el7.x86_64 #从输出可以看到,vim是vi的增加版,最明显的区别就是vim可以语法加亮,它完全兼容vi

二.vim编辑器的模式

1.vim编辑器有三种模式,第一次进入是一般模式,左下角出现“Insert” 是编辑模式,输入:是命令行模式。

  • ​ 从编辑模式到命令行模式怎样切换? 编辑模式->esc->一般模式->: ->命令模式
  • ​ 一般模式怎样进入编辑模式? 按a或i或o或A或I或O

2.总结:vim如何进入其它模式?

  • ​ a A o O i I 都是可以进行插入,编辑模式
  • ​ : 进入命令行模式
  • ​ v 进入可视模式
  • ​ ctrl+v 进入可视块模式
  • ​ V 进入可视行模式
  • ​ R 擦除、改写,进入替换模式
  • ​ 你进入以上模式后,想要退出 ,按esc

三.一般模式下的基础操作

i 当前字符之前插入 (光标前)
I 行首插入 (行首)
a 当前字符之后插入 (光标后)
A 行尾插入(行尾)
o下一行插入 (另起一行)
O上一行插入(上一行插入)
x 向后删除一个字符 等同于delete
X 向前删除一个字符
u 撤销一步 每按一次就撤销一次
r 替换, "r"命令不是一个操作符命令。它等待你键入下一个字符用以替换当前光标下的那个字符。"r"命令前辍以一个命令记数是将多个字符都替换为即将输入的那个字符。要把一个字符替换为一个换行符使用"r"。它会删除一个字符并插入一个换行符。在此处使用命令记数只会删除指定个数的字符:"4r"将把4个字符替换为一个换行符。 #光标定位
hjkl 左下上右
0 和 home键表示切换到行首, $和end键表示切换到行尾
gg 快速定位到文档的首行 , G定位到未行
3gg 或者 3G 快速定位到第3行
/string(字符串) -----找到或定位你要找的单词或内容,如果相符内容比较多,我们可以通过N、n来进行向上向下查找,并且vi会对查找到的内容进行高亮显示,取消用 :noh
/^d ----^意思表示以什么开头 ,,查找以字母d开头的内容
/t$ -----$意思表示以什么结尾,,查找以字母t结尾的内容
vim + a.txt 打开文件后,光标会自动位于文件的最后一行 #对文本进行编辑操作
#删除、复制、粘贴、撤销
y 复制(以字符为单位):表示对单个字符进行复制,如果要复制整行,用yy(以行为单位),"y"操作符命令会把文本复制到一个寄存器3中。然后可以用"p"命令把它取回。因为"y"是一个操作符命令,所以你可以用"yw"来复制一个word. 同样可以使用命令记数。如下例中用"y2w"命令复制两个word,"yy"命令复制一整行,"Y"也是复制整行的内容,复制当前光标至行尾的命令是"y$"。 复制N行: Nyy ,比如: 2yy ,表示复制2行
dd(删除,以行为单位,删除当前光标所在行)
删除N行: Ndd ,比如: 2dd ,表示删除2行
p : P粘贴
剪切: dd
x 删除光标所在位置的字符
D 从光标处删除到行尾
u 撤销操作
ctrl+r 还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什么样
r 替换,或者说用来修改一个字符, "r"命令不是一个操作符命令。它等待你键入下一个字符用以替换当前光标下的那个字符。"r"命令前辍以一个命令记数是将多个字符都替换为即将输入的那个字符。要把一个字符替换为一个换行符使用"r"。它会删除一个字符并插入一个换行符。在此处使用命令记数只会删除指定个数的字符:"4r"将把4个字符替换为一个换行符。

四.V模式(列模式)的基础操作

1.进入v模式 移动光标选择区域,编程的时候进行多行注释的步骤:

  • ​ ctrl+v 进入列编辑模式
  • ​ 向下或向上移动光标,把需要注释、编辑的行的开头选中起来
  • ​ 如果需要删除的话,就直接输入x键进行删除
  • ​ 如果要添加内容,就按大写的I
  • ​ 再插入注释符或者你需要插入的符号,比如"#"
  • ​ 再按Esc,就会全部注释或添加了

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

五.命令模式下的基础操作

:w 保存 save
:w! 强制保存
:q 没有进行任何修改,退出 quit
:q! 修改了,不保存,强制退出
:wq 保存并退出
:wq! 强制保存并退出
:x 保存退出 #调用外部文件或命令
假设:我想要写入我的网卡MAC地址,我要查看一下,当前在vim编辑文档,照着写。这样好麻烦。
在命令行模式下操作:
:!ifconfig 调用系统命令
!+命令
读取其他文件。(把其他文件中的内容追加到当前文档中)
:r /etc/hosts #文本替换
#格式:范围(其中%所有内容) s分隔符 旧的内容 分隔符 新的内容(分隔符可以自定义)
#默认是每一行的第一个符合要求的词(/g全部)
:1,3 s/bin/xuegod #替换第1到3行中出现的第一个bin进行替换为xuegod
:1,3 s/bin/xuegod/g #替换第1到3行中查找到所有的bin进行替换为xuegod
:3 s/xue/aaaaa #只把第3行中内容替换了
:% s/do/xuegod/g #将文本中所有的do替换成xuegod
:% s/do/xuegod/gi #将文本中所有的do替换成xuegod, 并且忽略do的大小写
:% s@a@b@g #将文本中所有的a替换成b

六.自定义vim环境

可以根据自己的喜好自定义vim环境。

#临时设置vim环境
:set nu #设置行号
:set nonu #取消设置行号
:noh #取消高亮显示
#永久设置vim环境
[root@node5 ~]#vim /etc/vimrc #设置后会影响到系统所有的用户
[root@node5 ~]#vim ~/.vimrc #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己建一个
例:
[root@node5 ~]# cat /root/.vimrc
set nu

七.vim同时打开多个文件

1.以上下形式,打开两个文档,使用ctrl+ww在两文档之间进行切换编辑

#小写的o上下分屏
[root@node5 ~]#vim -o /etc/passwd /etc/hosts

2.以左右方式打开两个文档,使用ctrl+ww在两文档之间进行切换编辑

#大写O左右分屏
[root@node5 ~]#vim -O /etc/passwd /etc/hosts

八.比较两个文件的内容

比较两个文件的内容有两种方法:diff和vimdiff。

[root@node5 ~]#cp /etc/passwd mima.txt
[root@node5 ~]#echo aaa >> mima.txt
[root@node5 ~]#diff /etc/passwd mima.txt
40a41
> aaa [root@node5 ~]#vimdiff /etc/passwd mima.txt

linux下vim的使用以及高效率的技巧的更多相关文章

  1. Linux下vim文件未正常退出,修复文件

    Linux下vim文件未正常退出,会产生一个 .文件名.swp的文件 ls -al  ,rm   删掉.swp文件 之后就可以正常使用文件了

  2. linux 下vim文件乱码 cat文件正常处理方法

    linux 下vim文件乱码 cat文件正常处理方法 服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileen ...

  3. 20145234黄斐《信息安全系统设计基础》第八周(Linux下vim相关命令)

    Linux下vim相关命令 在编辑程序时经常使用vim,所以记住一些常用的指令还是很有必要的 文件命令 vim file 打开单个文件vim file vim file1 file2 file3 .. ...

  4. Linux下Vim常用操作

    linux下Vim的常用操作 linux ​ 首先\(ctrl+Alt+t\)打开小框框 ​ \(./\):相当于手机上的\(home\)键 ​ \(ls\):当前文件夹的东东 ​ \(mkdir\) ...

  5. linux下vim更改注释颜色

    我linux下默认底色是黑色,字体是绿色,但是注释默认是蓝色,,很不爽...所以要更改注释颜色......以下文章来自转载. from: http://blog.csdn.net/gz109/arti ...

  6. linux下vim如何配置markdown插件

    在vim中设置markdown语法高亮是一个不错的选择,但是在google中搜索到的很多都是比较老的设置方式,甚至vim插件下载页面都是一个旧的版本.这里总结下我的修改过程,以帮助像我一样纠结的人. ...

  7. Linux下Vim工具常用命令

    原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html 在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚 ...

  8. linux下vim编辑器使用

    VIM - Vi IMproved: vim是vi编辑器的升级版,是linux下标准的编辑器,具有程序编写能力,可以根据字体颜色辨别语法的正确性,方便程序的设计. 使用: # vim [OPTION] ...

  9. Linux下vim基本操作和清空文件内容的常用方法

    以前都是用的很土的办法,大概有以下几种.1.直接删除,创建一个新的同名文件(这种方法的弊端是有可能这个文件带着权限或者是属性,那么你新建这个文件后有可能会导致权限不正确或者丢失属性).2.使用vim编 ...

  10. linux下vim命令具体解释

    很具体的介绍linux中vim的操作命令. 高级一些的编辑器,都会包括宏功能,vim当然不能缺少了.在vim中使用宏是很方便的: :qx     開始记录宏.并将结果存入寄存器x q     退出记录 ...

随机推荐

  1. Qt5自带的日志功能,将日志输出到文件

    #include "QtWidgetsApplication1.h" #include <QtWidgets/QApplication> #include <Qt ...

  2. iOS系统崩溃的捕获

    iOS系统崩溃的捕获 相信大家在开发iOS程序的时候肯定写过各种Bug,而其中最为严重的Bug就是会导致崩溃的Bug(一般来说妥妥的P1级).在应用软件大大小小的各种异常中,崩溃确实是最让人难以接受的 ...

  3. Node.js 与前端开发实战

    0x1 Node.js 的应用场景 前端工程化 打包工具:webpack.vite.esbuild.parce 代码压缩:uglifyjs 语法转换:babeljs,typescript 难以替代 W ...

  4. 实训篇-JavaScript-打地鼠

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 【高级RAG技巧】在大模型知识库问答中增强文档分割与表格提取

    前言 文档分割是一项具有挑战性的任务,它是任何知识库问答系统的基础.高质量的文档分割结果对于显著提升问答效果至关重要,但是目前大多数开源库的处理能力有限. 这些开源的库或者方法缺点大致可以罗列如下: ...

  6. ajax,axios和fetch三者间的区别.

    ajax: 1. 传统 Ajax 指的是 XMLHttpRequest(XHR), 最早出现的发送后端请求技术,隶属于原生js中,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的 ...

  7. HarmonyOS NEXT应用开发之Axios获取解析网络数据

    介绍 本示例介绍使用第三方库的Axios获取GBK格式的网络数据时,通过util实现GBK转换UTF-8格式.该场景多用于需要转换编码格式的应用. 效果图预览 使用说明 直接进入页面就可获取GBK格式 ...

  8. 混合云K8s容器化应用弹性伸缩实战

    简介: 混合云K8s容器化应用弹性伸缩实战 1. 前提条件 本最佳实践的软件环境要求如下:应用环境:①容器服务ACK基于专有云V3.10.0版本.②公共云云企业网服务CEN.③公共云弹性伸缩组服务ES ...

  9. Hologres揭秘:高性能原生加速MaxCompute核心原理

    简介: Hologres技术揭秘系列持续更新中,本期我们将带来Hologres高性能原生加速查询MaxCompute的技术原理解析. Hologres(中文名交互式分析)是阿里云自研的一站式实时数仓, ...

  10. 代理网关设计与实现(基于NETTY)

    ​简介:本文重点在代理网关本身的设计与实现,而非代理资源的管理与维护. ​ 作者 | 新然 来源 | 阿里技术公众号 一 问题背景 平台端购置一批裸代理,来做广告异地展现审核.从外部购置的代理,使用方 ...