vim初步

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:复制和粘贴

  1. 相对于复制粘贴来说,实现剪切粘贴的相对清晰容易一些。通过使用在缓存区删除数据的命令(x,dd,dw,d$)删除的数据会被保存在单独的一个寄存器中,从而,可是使用命令p来找回删除的内容,既p命令会将内容插入的光标所在行之后
  2. 在Vim编辑其中复制的命令是y(yy复制整行,yw复制单个单词,y$复制光标开始到行尾,y后面使用的词通d后面的含义作用一样)。复制命令复制文本不会影响到缓存区内的文本的内容,很难在复制后粘贴前看到自己具体的复制的内容。为了解决这个模糊性,可以使用可视模式。
    可视模式会在移动光标时高亮显示文本。

2.3:查找和替换

  1. 查找操作很简单,在命令行模式下,按下斜线(/)键,然后输入要查询的字符,再按回车。
  2. 替换操作必须在命令行模式下,替换的命令的格式是:
    \: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)?
vim操作简图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容