在Linux江湖,最常用到的编辑器非vim莫属,vim的功能很强大。 1. vim简介 在Linux世界中,最长用到的而且功能比较强大的是Vim编辑器。Vim编辑器是在内存缓冲区中处理数据。 vim 文件名 or vi 文件名 都可以通过vim打开文件 一般vim打开文件功能更多一些,特别是对于shell脚本这种文本,会有不同字符的高亮显示。 如果启动vim时未指定文件名,或者指定的文件名不存在,vim会开辟一段新的缓冲区域来编辑。 vim /etc/passwd vim tt 2 vim模式介绍 vim编辑器有两种模式: 普通模式 插入模式 2.1 普通模式 当刚打开要编辑的文件或新建一个文件时,vim首先进入的是普通模式。在普通模式中,vim会将案件解释程命令。 在普通模式下,可以用方向键在文本区域移动光标。vim有用来移动光标的命令: h:左移一个字符 j:下移一行(文本的下一行) k:上移一行(文本的上一行) l:右移一个字符 PageDown(或Ctrl+F):下翻一屏 PageUp(或Ctrl+B):上翻一屏 G:移动到缓冲区的最后一行 num G:移动到缓冲区的第num行 gg:移动到缓冲区的第一行 2.2 普通模式的命令行模式 Vim编辑器在普通模式下有个特特别的功能叫命令行模式。命令行模式提供了一个交互式命令行,可以输入额外的命令来控制vim的行为。要进入命令行模式,在普通模式下按下冒号键”:”,光标会移动到消息航,然后出现冒号,等待输入命令。 在命令行模式下有几个命令时可以退出缓冲区: :q 如果未修改缓冲区数据,退出。 :q! 取消所有对缓冲区数据的修改并退出。 :w filename 将文件保存到另一个文件中。 :wq 将缓冲区数据保存到文件中并退出 3 编辑数据 在普通模式,输入i,就会进入到插入模式,然后就可以编辑和数据的插入。如图: 在普通模式下,vim提供了一些命令来编辑缓冲区中的数据。 命令 描述 x 删除当前光标所在位置的字符 dd 删除光标所在的行 dw 删除当前光标所在的单词 d$ 删除当前光标所在位置至行尾的内容 J 删除当前光标所在行行尾的换行符(拼接符) u 撤销前一编辑命令 a 在当前光标后追加数据 A 在当前光标所在行尾追加数据 r char 用char替换当前光标所在位置的单个字符 R text 用text覆盖当前光标所在位置的数据,知道按下ESC键 4 复制和粘贴 vim在删除数据时,实际上会将数据保存在单独的一个寄存器中。可以用p命令取回数据。而复制操作在vim中是y(代表yank),可以在y后面使用和d命令相同的第二字符(yw代表复制一个单词,y$代表复制到行尾)。复制文本后,把光标移动到希望放置文本的地方,输入p命令,复制的文件就会出现在该位置。 复制的过程你无法知道自己到底复制了多少内容,知道粘贴后才明白复制的内容是什么,可视模式可以解决这个问题,可视模式会在你移动光标时就高亮显示需要复制的文本的内容。要进入可视模式,将光标移动到开始复制的位置,然后按下v键,你会注意到光标所在位置的文本已经被高亮显示。下一步,移动光标来覆盖希望复制的文本,高亮显示会覆盖所有你移动的行文本,然后按下y键进行复制,寄存器中已经有了要复制的文本,将光标移动到希望放置文本的位置,使用p键来粘贴,这样就完成了复制粘贴操作。 选中后输入 y复制,然后选择需要粘贴的地方,输入p粘贴 如图: 然后就复制成功粘贴了! 5 查找和替换 5.1 查找 在vim中可以通过按下斜线(/)键。光标会跑到消息航,然后vim会显示出斜线,然后输入需要查找的关键字符,按下回车键,vim会在文本中查找要查找的文本。 通常会出现三种回应: 如果要查找的文本出现在光标当前位置之后,则光标会跳转到该文本出现的第一个位置。 如果要查找的文本未在光标当前位置之后出现,而且在之前出现,则光标会染过文件末尾,出现在该文本所在的第一个位置(并用一条消息指明) 输出一条错误消息,说明在文件中没有找到要查找的文本。 如果要继续查找同一个单词,按下斜线,然后按回车,挥着使用n键,表示下一个(next). 5.2 替换 替换命令允许你快速的用一个单词来替换文本中的另一个单词。必须进入命令模式才能使用替换命令。替换命令的格式: :s/old/new Vim会跳到old第一次出现的地方,并用new来替换。 对这个命令进行一些修改可以替换多处文本: :s/old/new/g 可以替换掉第一行出现的所有old,替换成new. :n,ms/old/new/g 替换行号n和m之间的所有old :%s/old/new/g 替换整个文件中的所有old 最常用到 :%s/old/new/gc 替换整个文件中的所有old,但在每次出现时提示。 https://www.cnblogs.com/nanshanjushi/p/11332148.html