Skip to content

Latest commit

 

History

History
78 lines (65 loc) · 4.46 KB

File metadata and controls

78 lines (65 loc) · 4.46 KB

vim编辑器

linux下有许多种不同的编辑器,而其中我比较热衷于vim编辑器。
vi编辑器是Unix系统初的编辑器。它使用控制台图形模式来模拟文本编辑窗口,允许查看 文件中的行、在文件中移动、插入、编辑和替换文本。
尽管它可能是世界上复杂的编辑器(至少讨厌它的人是这么认为的),但其拥有的大量特 性使其成为Unix管理员多年来的支柱性工具。
在GNU项目将vi编辑器移植到开源世界时,他们决定对其作一些改进。由于它不再是以前 Unix中的那个原始的vi编辑器了,开发人员也就将它重命名为vi improved,或vim。

首先我们要查看我们的系统是否已经安装了vim。

[root@vultr /]# rpm -qa|grep vim
vim-enhanced-7.4.160-2.el7.x86_64
vim-minimal-7.4.160-2.el7.x86_64
vim-common-7.4.160-2.el7.x86_64
vim-filesystem-7.4.160-2.el7.x86_64

这是已经安装了,假如命令rpm -qa|grep vim没有查到这三个包,那么说明你的系统还没有安装vim
yum -y install vim*安装即可。

vim的格式是vim file。vim编辑器在内存缓冲区中处理数据。假如你输入的文件名不存在,那么他会开辟一开新的缓冲区让你编辑。保存之后就变成了一个新的文件。而文件名存在的情况下,会直接把这文件的内容放到内存缓冲区中。

vim有两种操作模式

  • 普通模式
  • 插入模式

当你新打开一个文件,这时候是普通模式,这种模式下可以使用一些命令进行增删改查。我们可以使用方向键移动光标,也可以用其他键

  • h:左移一个字符。
  • j:下移一行(文本中的下一行)。
  • k:上移一行(文本中的上一行)。
  • l:右移一个字符。
  • PageDown(或Ctrl+F):下翻一屏。
  • PageUp(或Ctrl+B):上翻一屏。
  • G:移到缓冲区的后一行。
  • num G:移动到缓冲区中的第num行。
  • gg:移到缓冲区的第一行。

在普通模式下有个特别的功能叫做命令行模式。

  • q:如果未修改缓冲区数据,退出。
  • q!:取消所有对缓冲区数据的修改并退出。
  • w filename:将文件保存到另一个文件中。
  • wq:将缓冲区数据保存到文件中并退出。

vim编辑命令

命令 描述
x 删除当前光标所在位置的字符
dd 删除当前光标所在行
dw 删除当前光标所在位置的单词
d$ 删除当前光标所在位置至行尾的内容
J 删除当前光标所在行行尾的换行符(拼接行)
u 撤销前一编辑命令
a 在当前光标后追加数据
A 在当前光标所在行行尾追加数据
r char 用char替换当前光标所在位置的单个字符
R text 用text覆盖当前光标所在位置的数据,直到按下ESC键

在vim编辑器的普通模式下使用退格键(Backspace键)和删除键(Delete键)时要留心。 vim编辑器通常会将删除键识别成x命令的功能,删除当前光标所在位置的字符。vim编辑 器在普通模式下通常不识别退格键

vim在删除数据时,实际上会将数据保存在单独的一个寄存器中。可以用p命令取回数据。

vim的粘贴是p,复制命令是y:

  • dd有点像剪切,可以到其他地方p粘贴
  • 要想windows一样拉取一段复制,可以用v
  • yw表示复制一个单词
  • y$表示复制到行尾

在vim中查找,按斜线(/),输入想要查找的内容,然后按下回车键。就会有很多内容显示,假如查找内容比较多,可以按n(next)查看下一个。

  • 如果要查找的文本出现在光标当前位置之后,则光标会跳到该文本出现的第一个位置。
  • 如果要查找的文本未在光标当前位置之后出现,则光标会绕过文件末尾,出现在该文本 所在的第一个位置(并用一条消息指明)。
  • 输出一条错误消息,说明在文件中没有找到要查找的文本。

替换命令允许你快速用另一个单词来替换文本中的某个单词。必须进入命令行模式才能使用 替换命令。

  • :s/old/new/ vim编辑器会跳到old第一次出现的地方,并用new来替换。
  • :s/old/new/g:一行命令替换所有old。
  • :n,ms/old/new/g:替换行号n和m之间所有old。
  • :%s/old/new/g:替换整个文件中的所有old。
  • :%s/old/new/gc:替换整个文件中的所有old,但在每次出现时提示

linux基本操作到这里结束了。