linux编辑器之vim
vim编辑器
which vim #查看安装目录
linux下也有vi编辑器,vim编辑器是vi improved。当输入vi命令时,执行的是/usr/bin/vim.tiny,vim.tiny只提供少量vim编辑器的功能,所以相对于vi更建议使用vim编辑器。
编辑器的安装(Ubuntu下):sudo apt-get install vim
vim + 你要编辑的文本文件的名字
vim有两种模式,一种是普通模式,一种是插入模式。普通模式是当你开始编辑新的文件时开启的模式,插入模式是当你编辑有数据的文件时开启的模式,此时的数据会存储在缓冲区中。在插入模式下按入I键就可以进行编辑,要退出到普通模式只需要按下键盘上的Esc键(Escape)。
vim编辑器中的各种快捷键
h | 左移一个字符 |
j | 下移一行(文本中的下一行) |
k | 上移一行(文本中的上一行) |
l | 右移一个字符 |
Ctrl+F | 下翻一屏 |
Ctrl+B | 上翻一屏 |
num G | 移动到缓冲区的第num行 |
G | 移动到缓冲区的最后一行 |
gg | 移到缓冲区的第一行 |
q | 如果没有修改缓冲区的数据,可以直接退出 |
q! | 取消所有对缓冲区的修改并退出 |
w filename | 将文件保存到另一个文件中 |
wq | 将缓冲区数据保存到文件中并退出 |
插入模式下向缓冲区编辑数据的快捷命令:
x | 删除当前光标所在位置的字符 |
dd | 删除当前光标所在的行 |
dw | 删除当前光标所在位置的单词 |
d$ | 删除当前光标所在位置至行尾的内容 |
J | 删除当前光标所在行行尾的换行符 |
u | 撤销前一条编辑命令 |
a | 在光标后追加数据 |
A | 在当前光标所在行行尾追加数据 |
r char | 用char替换当前光标所在位置的单个字符 |
R text | 用text覆盖当前光标所在位置的数据,直到按下Esc键 |
复制和粘贴
vim在删除数据时,实际上会将数据保存在单独的一个寄存器中,可以使用p命令取回数据。
所以我们可以用dd删除一行文本,然后把光标移动到缓冲区的某个要放至该行文本的位置,然后使用p命令,该命令会将文本插入到当前光标所在行之后。实现粘贴操作。
查找和替换功能
在vim缓冲区(就是有数据的区域)查找字符串时,首先要按下斜线/,此时光标会跑到消息行,vim也会显示出斜线,此时我们就可以输入要查找的文本信息,按下回车键就会进行查找。
比如我要在文件中查找TCGA
输入/TCGA,点击回车
就会跳转到第一次出现TCGA的地方
在vim下也可以进行替换,格式为:s/old/new/,编辑器就会跳到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,但每次会出现提示。