vim 是一款文本编辑器,同时也是一款程序开发利器。

在命令行下可以用 vim -v 查看 vim 版本;用 vim filenamevim 中打开指定文件,若文件不存在则会自动创建。vim 有3种模式 —— 一般模式、插入模式和命令行模式,直接打开文件时默认进入一般模式,按 ESC 进入命令行模式,按 i 键等进入插入模式。


各模式基本操作

一般模式

删除操作

  • dd : 表示删除一行
    ndd : 表示删除n行
    u : 表示撤销上次操作
    dG : 表示从当前行删除到文件结尾
    dgg : 表示从当前行删除到文件开头
    d^ : 表示删除到行首
    d$ : 表示删除到行尾
    dw : 表示删除一个单词 必须放在单词第一个字符处
    ndw : 表示删除n个单词
    daw : 表示在任意位置删除一个单词

复制

  • yy : 表示复制一行
    nyy : 表示复制n行
    p : 表示粘贴

可视化操作

  • v + 方向键 + y + p :可视化字符
  • shift + v :可视化行
  • ctrl + v : 可视化块

移位

  • h : 左移
  • j : 下移
  • k : 上移
  • l : 右移
  • gg: 移动到文件开头
    G : 移动到文件结尾
  • ngg : 移动到n行
    ^ : 行首
    $ : 行尾
    H : 移动屏幕开始
    L :移动屏幕结尾
    M :移动屏幕中键
  • 50% : 表示文件中间

编辑模式

不同的插入方式

  • i : 表示在光标前面插入
    I : 表示光标所在行行首插入
    o : 表示在光标下一行插入
    O : 表示在光标上一行插入
    a : 表示在光标所在后面插入
    A : 表示在行尾插入
    s : 表示删除当前光标所在位置插入
    S : 表示删除当前行插入
    r : 表示替换当前光标位置字符
  • R : 表示替换所有的字符

命令行模式

  • :wq : 表示保存并退出
  • :q : 表示退出
  • :w : 表示保存
    :q! : 表示强制退出

显示行号

这个方法只是临时有效

1
2
3
:set nu		表示显示行号
:set nonm 表示取消行号
:r !cat ~/.vimrc 表示读文件内容到当前文件中

配置vim配置文件

这个方法能实现永久有效地显示行号

打开vim配置文件

vim ~/.vimrc

以下是一些基本配置

1
2
3
4
5
6
7
8
"表示显示行号
set number
"表示tab键位宽
set ts=4
"表示自动对其
set ai
"表示shift键位宽
set shiftwidth=4

查找与替换

在命令行模式中,可进行文件查找与替换操作

查找

format

:/key

  • n : 表示向下查找
  • N : 表示向上查找

:?key

  • N : 表示向下查找
  • n : 表示向上查找

替换

format

:m,ns/oldkey/newkey/option

  • m : 表示从第m行开始
  • n : 表示到第n行结束
  • s : 表示关键字
  • oldkey : 表示被替换关键字
  • newkey : 表示替换关键字

option

  • g : 表示全部替换
  • i : 表示不取分大小写替换

案例

1
2
3
4
:2,4s/root/admin/g  表示替换第2行到第4行所有匹配信息
:%s/root/admin/g 表示全文替换
:1,$s/root/admin/g 表示全文替换
:%s/root/admin/gi 表示不区分大小写替换







  • end