您的位置:首页 > 其它

Vim 常用操作

2020-07-06 01:23 916 查看

1 退出

  • :qa
    关闭所有文件
  • :qa!
    关闭所有文件,放弃更改
  • :w
    保存
  • :wq
    :x
    保存和关闭文件
  • :q
    关闭文件
  • :q!
    关闭文件,放弃更改
  • ZZ
    保存退出
  • ZQ
    退出,放弃更改

2 编辑

  • a
    追加
  • A
    行尾追加
  • i
    插入
  • I
    行首插入
  • o
    插入行
  • O
    上方插入行
  • s
    删除插入当前字符
  • S
    删除行同时插入
  • C
    删除到行尾同时插入
  • r
    替换单个字符
  • R
    替换模式
  • u
    撤销
  • Ctrl+R
    重做

3 退出插入模式

  • Esc
  • Ctrl+[
  • Ctrl+C
    退出插入模式同时终止当前命令

4 剪贴板

  • x
    剪切字符
  • dd
    剪切行
  • yy
    复制行
  • p
    粘贴,对于复制行在下方粘贴,对于字符后方粘贴
  • P
    粘贴,对于复制行在上方粘贴,对于字符前方粘贴
  • "*p
    "*P
    从系统剪贴板粘贴,
    *
    +
    是与系统剪贴板交互的寄存器,若
    "*p
    不行可以尝试
    "+p
    ,需要确保vim支持剪贴板,可以使用
    vim --version | grep clipboard
    查看,出现
    +clipboard
    即为支持
  • ”*y
    +y
    复制到系统剪贴板

5 导航

  • h
    /
    j
    /
    k
    /
    l
    左/下/上/右
  • Ctrl+E/Y
    滚动上/下一行
  • Ctrl+U/D
    滚动上/下半页
  • Ctrl+F/B
    滚动上/下一页
  • b
    /
    w
    前/后一个单词首字母
  • ge/e
    前/后一个单词尾字母
  • 0
    绝对行首(忽略空白)
  • ^
    相对行首
  • $
    行尾
  • fc
    Fc
    向前/后跳转到字符
    c
  • gg
    首行
  • G
    末行
  • :n
    nG
    n
  • Ctlr+O/I
    上一次位置/撤回
  • [(
    /
    [{
    前一个
    (
    /
    {
  • ])
    /
    ]}
    后一个
    )
    /
    }
  • [m
    方法前一个开始/结束处
  • ]m
    方法后一个开始/结束处
  • zz
    滚动窗口让当前行居中
  • zt
    滚动窗口让当前行置顶
  • H
    /
    M
    /
    L
    移动到屏幕顶部/中部/底部
  • :tabedit file
    打开一个新tab编辑文件
    file
  • :tabclose
    关闭当前tab
  • :tabs
    列出所有tab
  • :tabfirst
    /
    :tablast
    跳转到第一个/最后一个tab
  • :tabn
    /
    :tabp
    下一个/上一个tab

6 可视化模式

  • v
    可视化模式
  • V
    行可视化模式
  • Ctrl+V
    块可视化模式

7 操作符+动作

形式如下:

操作符 动作

例子:

  • dw
    d
    是操作符代表删除,
    w
    是移动到下一个单词首 ,所以就是删除到下一个单词首
  • db
    删除到上一个单词首
  • 2dd
    删除两行
  • dip
    删除一个文本对象(下面有说)

操作符列表:

  • d
    删除
  • y
    复制(也叫yank)
  • c
    修改
  • >
    右缩进
  • <
    左缩进
  • g~
    变换大小写
  • gU
    大写
  • gu
    小写

8 文本对象

形式如下:

操作符 i/a 文本对象

其中操作符是上面提到的,

i/a
表示:

  • i
    inside,仅选择文本,比如文本对象是一个字符串,仅选择字符串内容,不包括包围的单/双引号
  • a
    around,选择包括文本,包围的字符与周围的空白,比如文本对象是一个
    []
    块,会选择
    []
    里面的内容,同时选中包围的
    []
    ,如果
    []
    周围有空白也会进行选中

文本对象:

  • p
    段落
  • w
    单词
  • s
    句子
  • [
    /
    (
    /
    {
    /
    <
    一个
    []
    /
    ()
    /
    {}
    /
    <>
  • '
    /
    "
    /
    反引号
    单/双/反引号字符串
  • t
    一个xml标签块

例子:

  • vip
    选择段落
  • vipipip
    选择更多段落
  • yit
    复制一个xml标签块
  • ya"
    复制一个
    "
    字符串以及包围的
    "
  • di[
    删除一个
    []
    块的内容
  • ca{
    修改一个
    {}
    块以及周围空白

    9 杂项

    9.1 数字增减

  • Ctrl+A
    数字加1
  • Ctrl+X
    数字减1

默认识别十进制,使用

:set nrformats=bin,octal,hex
后,能识别2/8/16进制。

  • 二进制:
    0b
    0B
    开头
  • 八进制:
    0
    开头
  • 十六进制:
    0x
    0X
    开头

9.2 大小写

  • g~
    切换大小写
  • gU
    大写
  • gu
    小写
  • g~~
    整行切换大小写
  • gUU
    整行大写
  • guu
    整行小写

9.3 计算器

插入模式下,输入

Ctrl+R
,接着输入
=
,再输入式子即可计算。Enter获取计算结果,会将计算结果插入到当前光标所在位置。

9.4 标记

  • 反引号^
    插入模式的上一次位置
  • 反引号.
    上一次修改位置
  • 反引号反引号
    上一次跳转的位置
  • ma
    标记当前位置为标记
    a
  • 反引号a
    跳转到标记
    a
    的位置
  • 'a
    跳转到标记
    a
    的位置的行首
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: