vim 常用指令总结

时间:2023-03-09 16:26:50
vim 常用指令总结

vim的好处(四大好处)

  1. vim具有大量的操作技巧,编辑能力强大且速度比其他工具快的多!

    (这里举个简单的小例子:将每行的前四个字母复制到每行的末尾; 将文本中的所有word替换为words; 等等很多看起来人力操作十分困难的编辑,vim几个字母就搞定!)

  2. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计!

  3. 有太多 Linux 上面的指令都默认使用 vim 作为数据编辑的接口,所以必须要会 vim ,否则很多指令你根本就无法操作!

  4. 所有的 Unix Like 系统都会内建 vim 文书编辑器,其他的文书编辑器则不一定会存在!

vim配置文件

最好只配置当前用户下的配置文件:

1. cp /usr/share/vim/vimrc ~/.vimrc     先复制一份vim配置模板到个人目录下

2. vi 该文件 在末尾加上相应功能

    set nocompatible                 "去掉有关vi一致性模式,避免以前版本的bug和局限

    set nu!                                    "显示行号

    syntax on                                "语法高亮度显示

    set autoindent                       "vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进)

    set tabstop=4                        "设置tab键为4个空格

    set ai!                                      " 设置自动缩进

    set backspace=2           " 设置退格键可用

vim常用命令总结

俗话说:”好记性不如烂笔头,熟能生巧“

下面本人以实操为基础来进行vim的命令总结(按照常用频率排序)

  • 设定是否显示行号

    :set nu    :set nonu
  • 修改完之后,突然反悔了,要全部复原,有哪些方法?

    一直按u回滚    或者    :q! 强制不保存退出
  • 跳到制指定行(n行为例)

    nG    或者    ngg     gg为跳到首行,G为跳到尾行
  • 查看第43行第59个字符是什么

    43G    59->
  • 搜寻文本中的第一个’gzip‘这个字符串

    gg    /gzip
  • 将 29 到 41 列之间的『小写 man 字符串』改为『大写 MAN 字符串』,并且一个一个挑选是否需要修改

    :29,41s/man/MAN/gc          如果后面是g则在取代前不显示提示字符给用户确认 (confirm) 是否需要取代!
    其中1,$s为从第一行到最后一行 :1,$s/ /tab 将文件中的四个空格全部替换为tab
    (python脚本时经常用到)
  • 将第9行至第15行的数据,复制到第16行

    :9,15 copy 16    或者    9,15 co 16
    nyy    复制当前光标下面n行
    p 粘贴光标下一行
  • 删除多行

    :m,nd    dd表示删除当前行,yy表示复制当前行
  • 在多行行首添加删除字符(以全文添加注释为例)

    先ctrl+v 进入块编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来
    然后按大写的I,再插入注释符,比如"#" I表示在当前光标前插入,i表示在当前光标后插入
    最后按Esc即可
  • 移动到这一列的最前面字符处

    0(移到整行最前面)  ^(移到整行第一个字母,不算空格)    $(移动到这一列的最后面字符处)
  • 屏幕『向下』移动一页,相当于 [Page Down]按键

    [Ctrl] + [f]    [Ctrl] + [b]表示屏幕『向上』移动一页,相当于 [Page Up] 按键
  • 在目前光标所在的下一列处插入新的一列

    o     O为在目前光标所在处的上一列插入新的一列
  • 多窗口功能

    :sp {filename}    若无{filename}出现的则是同一个文件在两个窗口间
    ctrl + w + w 窗口间切换
  • 自动补齐功能

    ctrl + n