Vim常用命令

Vim三种模式:

  1. vim a.c进去命令模式
  2. :wq!底线命令模式
  3. 从命令模式i进入编辑模式
  4. Esc编辑模式回到命令模式

    插入

    .| .

—|—
a (append)|光标后
A | 行尾插入
i (insert)| 光标前插入
I |行首插入
o |下一行首
O| 上一行首

定位

. .
$ 行尾
0 行首
set number 设置行号
set nonumber 取消行号
gg 光标移动到第一行
G 最后一行
nG 第n行,或者:n

删除

. .
x 光标所在处字符
nx 光标后n个字符
dd(剪切) 删除一行
ndd 删除(剪切)n行
dG 删除光标到文件末尾
D 删除光标处到行尾
:n1,n2d 删除[n1,n2]

复制

. .
yy 复制当前一行
nyy 从当前行开始复制n行
p 粘贴在当前行
P 粘贴在上一行
. .
R (replace模式) 替换光标的字符Esc结束
u 撤销

查找

. .
/string
set ic
set noic
搜索字符串
忽略大小写
取消忽略大小写
:%s/old/new/g
:%s/int/double/g
全文替换字符串
int换成double
/g
/c
不询问
询问
:n1,n2s/int/double/g [n1,n2]行替换

保存退出

. .
:w write 保存
:w /home/luchao/code/b.c 另存为
E212:所写入目录没有w权限
ZZ 保存退出
:wq 保存退出
q! 强制退出,(不保存)

技巧

  1. :r /etc/issue在当前光标处导入/etc/issue文件


  2. !who
    !which ls
    !ls -l /tmp/Japan
    在不退出vim的情况下执行命令行
    !

  3. r !date命令执行结果导入到vim执行文件中

  4. ^表示行首,转义字符来表示//
    连续行注释
    :1,5s/^/\/\//g
    :1,5s/^/#/g

  5. 取消行首
    // :1,5s/^\/\///g,
    不加^,则[1,5]行全部将//替换为空

  6. ab abbreviation缩写类似define
    ab mymail 2424631502@gmail.com

  • 快捷键设置(修改配置文件保存设置)
    1. .vimrc位置
      /root/.vimrc
      /home/username/.vimrc
    2. map ^p I//<ESC>ctrl+p ->I跳到行首并且进入编辑模式
    3. map ^b 0xx光标移动到最前面,删除2个字符
    4. ab mymail ....

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!