vim的简单应用

vim的简单应用

        之前我们学习过Linux的思想,其中有一条就是一切皆文本,所以在这里大部分配置文件都是文本模式存在的,那么使用简单的文字编辑器就可以修改配置了,之前我们学习过nano文本编辑器,但是Vim会比nano使用的更为方便,也更强大

  • 基本现在所有的Linux系统都会内置vim,但是其他的文本编辑器就不一定会有了。

  • vim具有程序编辑的能力,还可以使用字体颜色标明语法,方便程序设计。

  • 程序简单,如果上手了之后会更加快速的编辑文本。

  • 很多软件的编辑接口都会主动调用vim。

        本编辑器分为很多种类

  • 行编辑器:sed

  • 全屏编辑器:nano , vi

  • gedit 图形编辑器

  • gvim vim的图形版本

        vi的基本概念 基本上vim可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和扩展模式(last line mode),各模式的功能区分如下:

  • 命令模式:默认的模式,控制光标的移动、字符、字或行的删除/剪切/粘贴,或者进入插入模式和扩展模式,相当于一个中转站,你无论进入那个模式都需要在命令模式里切换。

  • 插入或者编辑模式:在这个模式里可以进行编辑,修改文本,按ESC退出到命令模式,在命令模式按i进入到编辑模式(后面会讲很多方法进入插入模式)。

  • 扩展命令模式:将文件保存或者退出,也可以设置编辑环境,比如输入命令寻找字符串,列出行号等。

模式转换

        命令模式切换至编辑模式

  1. i      进入编辑模式光标原地不动

  2. a     进入编辑模式光标向后移动一位

  3. o     进入编辑模式光标向下插入一行

  4. I     进入编辑模式光标跳至行首

  5. A     进入编辑模式光标跳至行尾

  6. O     进入编辑模式光标向上插入一行

        模式转换

  • 编辑模式按(Esc)切换至命令模式

  • 命令模式按(:)切换至扩展命令模式

  • 扩展命令模式按(Esc,enter回车)切换至命令模式

  • 锁定和解锁:Ctrl+s,ctrl+q

        扩展模式如何退出:

  1. :q     退出

  2. :q!     强制退出,不保存退出。

  3. wq     保存退出

  4. x     保存退出

        命令模式如何退出:

  1. ZZ     保存退出

  2. ZQ     不保存退出

        扩展模式(Ex模式)

  • 按(:)进入编辑模式

  • 创建一个命令提示符(:)在屏幕底部显示

  • 命令:

  1. r+文件名     读文件内容到当前光标处

  2. w+文件名     将当前文件内容写入到另一个文件(另存为)

  3. !+命令     执行命令

  4. r!+命令     将执行命令的输出读入进来

        命令模式

  • 字符间移动:
  1. h     向左移动(87键盘)     ←  (全键盘)

  2. l     向右移动(87键盘)     →   (全键盘)

  3. j     向下移动(87键盘)      ↓    (全键盘)

  4. k     向上移动(87键盘)     ↑    (全键盘)

  5. w     下一个单词的词首

  6. e     当前或下一个单词的词尾

  7. b     当前或前一个单词的词首

  8. H     页首

  9. M     页中间行

  10. L     页底

  11. G     最后一行行首

  12. ^     跳至行首的第一个非空白字符

  13. 0     跳至行首

  14. $     跳至行尾

  15. gg     第一行行首

  16. Ctrl+f     向文件尾部翻一屏

  17. Ctrl+b     向文件首部翻一屏

  18. Ctrl+d     向文件尾部翻半屏

  19. Ctrl+u     向文件首部翻半屏

  • 删除,替换:
  1. x     删除光标处字符

  2. 3x     删除光标处起始3个字符(数字可以随意换)

  3. xp     交换光标所在处前后的字符位置

  4. ~     转换大小写

  5. J     删除当前行后的换行符

  6. r     替换光标所在处的字符

  7. R     切换成REPLACE模式(替换模式)

  • 删除,复制,粘贴:
  1. d$     删除到行尾

  2. d^     删除到非空白行

  3. d0     删除到行首

  4. dw     删除一个单词

  5. dd     删除一行 (删除命令d可以结合其他命令一起使用,我就不全部写下去了)

  6. D     从当前光标位置一直删除到行尾,留空行(d$一样)

  7. y     复制 (跟d一样,可以结合其他命令一起使用,我就不全部写了)

  8. yy     复制行

  9. p     粘贴

  • 撤销
  1. u     撤销最近的更改

  2. #u     撤销之前多次更改 (#次)

  3. U     撤销光标在这此行前后所有操作(光标不可离开这行,离开则无效)

  4. (.)     重复前一个动作

  5. n(.)     重复前一次操作n次

(注意在vim里面一定要注意大小写,大小写一定要分清楚)

没事可以多看看图片,当然自己多敲敲最好:

vim的简单应用

        扩展命令模式

  • 按(:)进入扩展命令模式

  • 位置定界

  1. #     具体第#行,如果是3就是第3行。

  2. #,#     从左侧#表示起始行,到右侧#表示结尾行

  3. #,+#     从左侧#表示起始行,加上右侧#表示结尾行,如果2,+3就是2到5行

  4. (.)     当前行

  5. $     最后一行

  6. %     全文

  7. /PATTERN     从当前光标所在处向文件尾部查找

(例如:/^a 搜索a开头)

vim的简单应用

  1. ?PATTERN     从当前光标所在处向文件首部查找
  • s 在扩展模式下完成查找替换的操作

  • :%s /文件1/文件2/修饰符/ 搜索文件1替换为文件2

  • 修饰符

  1. i     忽略大小写

  2. g    全局替换;默认情况下,每一行只替换第一次出现的

  3. gc     全局替换,替换时会询问

        编辑二进制文件

  • 以二进制方式打开文件:vim -b 文件

  • 扩展命令模式下,利用xxd命令转换为易读的十六进制:%!xxd

  • 编辑二进制文件

  • 扩展命令模式下,利用xxd转换回二进制:%!xxd -r

  • 保存退出

        vim 可以同时打开多个文件,简称多文件模式

  • vim 文件1 文件2 文件3
  1. :next     下一个

  2. :prev     前一个

  3. :first     第一个

  4. :last     最后一个

  5. :wall    保存所有

  6. :qall     退出所有

  7. wqall     保存退出所有

        vim 可以使用多个窗口

  • 多文件分割
  1. vim -o     水平分割

  2. vim -O    垂直分割

  3. 在窗口里面切换:Ctrl+w,Arrow

  • 单文件窗口分割
  1. Ctrl+w,s:split     水平分割

  2. Ctrl+w,v:vertical     垂直分割

  3. Ctrl+w,q     取消相邻窗口

  4. Ctrl+w,o     取消全部窗口

  5. wqall 退出

        寄存器

  • 寄存器就是粘贴,复制的意思,在Linux里一共有26个寄存器和一个无名寄存器,意思就可以复制26个不同的内容,然后进行粘贴,相当方便。

  • 从a-z,一共26个字符,就相当于26个寄存器,它的时候方法是:

  • 复制粘贴的时候加上a,就是复制到a的寄存器中

  1. “ayy”     复制 (a可以随时更改一共26个字符,可以存26个)

  2. “ap”       粘贴 (a可以随时更改一共26个字符,可以存26个)

        vim的功能相当强大,这些都只是其中的一部分,这么多功能还要你自己去熟练运用,当你熟悉之后,你可以查看帮助了解更多。

  • type vim 查看是内部或外部命令

  • help 查看内部命令帮助

  • man 查看外部命令帮助

原创文章,作者:Az2h1丶,如若转载,请注明出处:http://www.178linux.com/78154

(0)
Az2h1丶Az2h1丶
上一篇 2017-06-17
下一篇 2017-06-17

相关推荐

  • 一个不想被打断腿的人的学习宣言

    听说不晒学习宣言的会被某人打断腿,忍了好几天,思考了好几天,想了想,还是腿比较重要。废话就不多说了。上图~~!  生命中总要去经历一些,好让自己在老的时候回忆起来,不至于说:“哎,怎么就没有去拼一下呢!”

    Linux干货 2016-10-27
  • iptables

    iptables简介   iptables 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。 iptables基础   规则(rules)其实就是网络管理员预定义的条…

    Linux干货 2017-02-16
  • 逻辑卷管理器LVM使用简介

    逻辑卷管理器(LVM) 原理图如下: 先准备一个分区/dev/sdb1,注意也存在ID问题,选择8e。 1.先把磁盘变成物理卷 在做这步前可以先看下系统中存在的物理卷,没有就什么都不会显示。 把我们准备好的两个磁盘变成物理卷,注意我那使用旧的格式化的分区磁盘,可能会出现上面有文件系统或者卷标类型的问题,所以尽量使用新磁盘做实验。如果出现这种情况,可以使用dd…

    2017-05-02
  • 文件管理的相关命令使用及标准I/O,管道,diff及文件工具的使用

    mkdir 创建目录-p: 存在于不报错可自动创建所需的各目录 (递归创建)mkdir -p a/d/c/b-m: mode 创建时指定权限  # mkdir -m 777 filename       rmdir删除空目录 -p 递归删除空目录 touch 当文件不存在时,则创建一个空文…

    2017-07-29
  • 怎么删除邮件?

    linux邮件位置一般在/var/spool/mail/root下,如果想查看邮件,在屏幕上输入mail就可以查看了,输入之后会出现&符号,你想看哪一封邮件,直接在后面跟对应的数字就好了。 如果你感觉自己的邮件太多了,比较占内存,那就删了吧。 d 删除当前邮件,指针并下移。   d 3 删除编号为3 的邮件。   d1-100 删…

    2017-07-22
  • N25-第一周博客作业

    1、描述计算机的组成及其功能:    没有听马哥视频之前,计算机的组成理解为主机+显示器;    听完视频之后,对计算机的组成分为硬件系统和软件系统。    硬件系统主要有:运算器、控制器、存储器、输入设备和输出设备;    软件系统主要有…

    Linux干货 2016-12-04