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基本操作到这里结束了。