Easton's Blog Easton's Blog
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)

Easton Yang

爱生活😊爱学习
首页
  • 编程语言

    • Python
  • 框架

    • Django
  • Mdn (opens new window)
  • HTML
  • CSS
  • JavaScript
  • Mysql
  • PostgreSQL
  • Elasticsearch
  • MongoDB
  • Redis
  • 服务器命令
  • Docker
  • GIT
  • 摄影
  • 草稿
  • 归类方式

    • 分类
    • 标签
    • 归档
  • 关于博客

    • 博客教程
    • 友情链接
    • 关于
导航站
GitHub (opens new window)
  • 服务器命令

    • vim
      • 安装 vim
      • 常用命令
        • 快速删除一对括号内的内容-di
        • 删除-d
        • 复制-y、粘贴-p
        • 替换
        • 查看指定字符的数量
        • 取消高亮
        • 光标快速定位
        • 屏幕定位
        • 翻页
        • 撤销修改-u
        • 编辑 INSERT 模式
        • 退出/保存
        • 行号
    • shell快捷键
    • linux常用命令
    • systemctl
    • tcpdump抓包
    • linux性能分析
  • Docker

  • 服务器
  • 服务器命令
eastonyangxu
2023-05-10
目录

vim

注意

区分大小写,大写可以用 shif+小写 两个键组合。所有命令都是在 esc 状态(命令模式) 下进行的。

esc 状态(命令模式)刚进入 vim 文件里面就是这个模式,或者按键盘 Esc 键,只要左下角没有任何提示应该就是esc 状态(命令模式)。 在输入任何命令时,想要终止时都可以使用 Esc 键,有时候可能需要多按几下。

使用 vim:vim demo.py ,vim 不是默认安装,没有按照需要安装,或者使用vi,vi 跟 vim 类似。

描述

Vim 是从 vi 发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。 Vim 的第一个版本由布莱姆·米勒在 1991 年发布。最初的简称是 Vi IMitation,随着功能的不断增加,正式名称改成了 Vi IMproved。

# 安装 vim

    yum -y install vim*
    
    1
    apt-get install -y vim
    
    1
    // Make sure to add code blocks to your code group

    # 常用命令

    # 快速删除一对括号内的内容-di

    # 光标移动到括号上或括号内:
    # 删除{}里面内容(下面两个命令其中之一都可以)
    di{
    di}
    
    # 删除[]里面内容(下面两个命令其中之一都可以)
    di[
    di]
    
    # 其他的括号类似
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    # 删除-d

    # 删除当前行
    dd
    
    # 往后删除10行(包含当前行)
    10dd
    
    # 删除光标到行尾(包含光标位)(下面两个命令其中之一都可以)
    D
    d$
    
    # 删除光标前到行首,d 后面是 数字零
    d0
    
    # 删除光标行到最后一行 (包含光标行)
    dG
    
    # 删除光标行到第一行 (包含光标行)(下面两个命令其中之一都可以)
    d1G
    dgg
    
    # 向后删除[n]个字符(包含光标所在字符)
    nx
    
    # 向前删除[n]个字符(不包含光标所在字符)
    nX
    
    # 从光标处删除到该单词尾部,删除后进入到编辑模式
    cw
    
    # 删除整个单词,删除后进入到编辑模式
    caw
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31

    # 复制-y、粘贴-p

    # 复制当前行
    yy
    
    # 到行首
    y0
    # 到行尾
    y$
    # 光标后一个单词
    ye
    # 光标后一个单词忽略字符,空格有效
    yE
    # 光标前一个单词
    yb
    # 光标前一个单词忽略字符,空格有效
    yB
    
    # 向后复制[n]行,包含本行
    nyy
    
    # 复制本行到第一行所有内容
    y1G
    
    # 复制本行及后面的所有内容
    yG
    
    # 粘贴复制的内容到 光标(如果是整行复制就是:光标行)前,小写p
    p
    
    # 粘贴复制的内容到 光标(如果是整行复制就是:光标行)后,大写P
    P
    
    #注意:使用p的粘贴是vim里面命令行复制的内容,使用其他方式复制是不生效的。
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32

    # 替换

    # :s(substitute)命令用来查找和替换字符串。语法如下
    # :{作用范围}s/{目标}/{替换}/{替换标志}
    # 作用范围分为当前行、全文、选区等等。
    
    # 只替换当前行找到的第一个
    :s/foo/bar
    
    # 当前行全部替换
    :s/foo/bar/g
    
    # 全文替换
    :%s/foo/bar/g
    
    # 选区,在 Visual(输入:v) 模式下选择区域后输入 : , Vim 即可自动补全为  :'<,'>
    # 选中的 行 全部 foo 替换为 bar
    :'<,'>s/foo/bar/g
    
    # 替换 2-11 行的 foo 为 bar
    :2,11s/foo/bar/g
    
    # 替换 当前行 . 与接下来两行 +2 的 foo 为 bar
    :.,+2s/foo/bar/g
    
    # 上文中命令结尾的 g 即是替换标志之一,表示全局 global 替换(即替换目标的所有出现)。 还有很多其他有用的替换标志:
    # 空替换标志表示只替换从光标位置开始,目标的第一次出现
    # i 表示大小写不敏感查找,I 表示大小写敏感(默认),(默认情况可能跟 vim 版本有关系)
    # 全文查找 foo 替换为 bar,忽略大小写
    :%s/foo/bar/gi
    # c 表示需要确认,例如全局查找 "foo" 替换为 "bar" 并且需要确认
    :%s/foo/bar/gc
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30

    # 查看指定字符的数量

    :%s/查找的字符串//gn

    # 取消高亮

    :noh

    # 光标快速定位

    # 1.定位到指定第10行
    :10
    
    # 2.向后查找foo(执行完下面命令后,n继续相同方向查找,N相反方向继续查找)
    /foo
    
    # 3.向前查找foo(执行完下面命令后,n继续相同方向查找,N相反方向继续查找)
    ?foo
    
    # 4.当前行首
    0
    # 当前的第一个非空字符
    ^
    
    # 5.当前行尾
    $
    
    # 6.定位到第一行
    gg
    
    # 7.定位到最后一行
    G
    
    # 8.往后定位100个字符
    100空格
    
    # 9.往后定位2行(下面两个命令其中之一都可以)
    2+
    2回车
    # 往前定位2行
    2-
    
    # 10.移动到字符尾部(下个字符)
    e
    # 动到字符尾部忽略标点符(下个字符)
    E
    
    # 11.移动到字符首部(下个字符)
    w
    # 动到字符首部忽略标点符(下个字符)
    W
    
    # 12.移动到字符首部(上个字符)
    b
    # 移动到字符首部忽略标点符(上个字符)
    B
    
    # 13.移到屏幕的最后一行
    L
    # 移到屏幕的中间一行
    M
    # 移到屏幕的第一行
    H
    
    # 14.移到段落的开头,python中方法的上一行
    {
    # 移到段落的尾部,python中方法的下一行
    }
    
    # 15.移到句子的开头
    (
    # 移到句子的结尾
    )
    
    # 16.光标返回到以前的位置。相当于光标移动的“撤销”
    ctrl和o
    
    # 17.光标返回到后来的位置。相当于光标移动的“恢复”
    ctrl和i
    
    # 18.向后移动n个字符
    n+空格
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72

    # 屏幕定位

    # 1.将当前行置为屏幕的中央
    z.
    # 2.将当前行置为屏幕的底行
    z-
    # 3.将当前行置为屏幕的第一行
    z+
    
    1
    2
    3
    4
    5
    6

    # 翻页

    # 往后翻整页
    ctrl-f
    # 往前翻整页
    ctrl-b
    # 往后翻半页
    ctrl-d
    # 往前翻半页
    ctlr-u
    # 往后翻一行
    ctrl-e
    # 往前翻一行
    ctrl-y
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    # 撤销修改-u

    u

    # 编辑 INSERT 模式

    # insert-光标当前位置插入(光标当前字符会在插入字符后)
    i
    # 光标 当前行 第一位字符处插入(插入的字符在最开头)
    I
    # append-光标当前位置后插入
    a
    # 光标 当前行 最后字符后处插入(当前行最后一个字符后)
    A
    # 光标下一行插入空行,光标置于最开头的位置
    o
    # 同o相反
    O
    # 替换光标所在字符一次
    r
    # 替换光标所在字符,直到退出编辑模式
    R
    # 还原本次撤销,重做,一般结合撤销(u)使用
    ctrl+r
    
    # 进入VISUAL可视化模式,移动光标可以选中字符(再次输入v可退出VISUAL模式)
    v
    # v结合b/B((上个)字符首部)、e/E((下个)字符尾部)、w/W((下个)字符首部)可以快速选中单词。
    # 在VISUAL模式下:
    # 复制,复制完成并退出VISUAL模式
    y
    # 删除选择并退出VISUAL模式
    d
    # 粘贴,粘贴并覆盖选中字符串
    p
    
    # 退出编辑模式,键盘上的 Esc 按键
    Esc
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32

    # 退出/保存

    # 保存
    :w
    
    # 退出(如果有修改没有保存会报错,没有修改时直接退出)
    :q
    
    # 保存并退出(相当于 :w 和 :q 两个命令)
    :wq
    
    # 强制退出(如果有修改丢弃所有修改)
    :q!
    
    # 另存一份为fileName
    :w fileName
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    # 行号

    # 显示行数(下面两个命令其中之一都可以)
    :set nu
    :set number
    
    # 隐藏行数(下面两个命令其中之一都可以)
    :set nonu
    :set nonumber
    
    # 行数永久生效的方法:
    # 注意vimrc的路径可能不同,可以使用命令 【find /etc/ -name vimrc】 在etc路径下面搜索。
    # 输入下列命令(进入vim编辑器的配置文件内,在文件尾部,新建一行)
    sudo vim /etc/vim/vimrc
    # 最后一行插入(下面两个命令其中之一都可以),然后保存退出。这样再次打开vim编辑器就会一直显示行数
    set nu
    set number
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #服务器命令#vim
    上次更新: 2023/08/08, 20:00:46
    shell快捷键

    shell快捷键→

    最近更新
    01
    攻略制作要点
    07-18
    02
    摄影主题拍摄
    07-18
    03
    延时摄影剧本
    07-18
    更多文章>
    Theme by Vdoing | Copyright © 2023-2024 Easton Yang | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式