1:vim与vi的比较
二者同作为多模式(命令模式,插入模式)编辑器,vim 是vi的升级版本
2 vim的基本使用
Vim编辑器的两种模式:
1 命令行(普通)模式
2 插入模式
在命令行模式下,可以通过方向键来移动光标在文本区域的位置,也可以通过
- h 光标左移一个字符
- j 光标下移一行
- k 光标上移一行
- l 光标右移一个字符
在大文本中,为了提高一定的速度,也可通过以下的方式
- Ctrl+F 下翻一屏数据
- Ctrl+B 上翻一屏数据
- G 移到缓存区的最后一行
- num G 移到缓存区的第 num 行
- gg 移动缓存区的第一行
2.1:编辑数据
普通模式下,Vim编辑器提供了一些命令来编辑缓存区内的数据,命令列表如下:
命令 | 描述 |
---|---|
x | 删除当前光标所在位置的字符 |
dd | 删除当前光标所在的行,光标定位的下一行 |
dw | 删除当前光标所在位置的单词 |
d$ | 删除当前光标所在位置至行尾的内容 |
J | 删除当前光标所在行行尾的换行符 |
u | 撤销前一个编辑命令 |
i | 在当前光标前追加数据 |
a | 在当前光标后追加数据 |
A | 在当前光标所在行的行尾追加数据 |
r char | 用char(单个字符)替换当前光标所在位置的字符 |
R text | 用text(文本)覆盖当前光标所在位置的烦的数据,直到按下esc键 |
注:有些编辑命令支持使用数字修饰符来指定该命令的执行次数,比如2x会删除从当前位置开始的两个字符,3dd会删除当前光标所在行开始的3行数据,3u会撤销掉前三行编辑命令等等。
2.2:复制和粘贴
- 相对于复制粘贴来说,实现剪切粘贴的相对清晰容易一些。通过使用在缓存区删除数据的命令(x,dd,dw,d$)删除的数据会被保存在单独的一个寄存器中,从而,可是使用命令p来找回删除的内容,既p命令会将内容插入的光标所在行之后
- 在Vim编辑其中复制的命令是y(yy复制整行,yw复制单个单词,y$复制光标开始到行尾,y后面使用的词通d后面的含义作用一样)。复制命令复制文本不会影响到缓存区内的文本的内容,很难在复制后粘贴前看到自己具体的复制的内容。为了解决这个模糊性,可以使用可视模式。
可视模式会在移动光标时高亮显示文本。
2.3:查找和替换
- 查找操作很简单,在命令行模式下,按下斜线(/)键,然后输入要查询的字符,再按回车。
- 替换操作必须在命令行模式下,替换的命令的格式是:
\:s/old/new/
Vim编辑器会在光标所在处急之后第一次出现的old的地方,然后new将old替换,如果所在行不存在old,则提示:pattern not found。
文本的多处替换:
命令 | 描述 |
---|---|
:s/old/new/g | 使用new替换所在行的所有old |
:n,ms/old/new/g | 使用new替换行号n~m之间的所有old |
:%s/old/new/g | 使用new替换缓存区内的所有old |
:%s/old/new/gc | 使用new替换缓存区内的所有old,每次替换都有提示replace with rod (y/n/a/q/l/^E/^Y)?
|