• vi 是 UNIX/Linux 系统中用来记录文字信息的工具,它是在终端窗口中使用的工具,因此也不能使用鼠标

    • gVim 是 Windows 下的 vi
  • 启动vi的命令vi 文件路径

  • vi中的功能分成三组,每组对应一种工作模式,只有位于某种工作模式下的时候才可以使用对应的功能

    • vi正常模式

      • 在这个模式下可以执行简单命令,每次刚启动 vi 的时候都处于正常模式下
    • vi插入模式

      • 在这个模式下可以修改文字内容,在正常模式下输入 i 进入插入模式,按 返回正常模式
    • vi命令模式

      • 在这个模式下可以执行复杂命令,在正常模式下输入:进入命令模式,按 返回正常模式
    • 正常模式可以和任何其他模式进行互相的转换,但插入模式和命令模式不可以互相转换

  • 命令模式命令:

    • e!放弃修改,从上次的保存开始

    • q不保存,退出 vi

    • q!不保存,强制退出 vi

    • w保存但不退出 vi

    • m,nw namem 行到 n 行的内容保存到 name 文件中

    • w file保存到 file 文件但不退出 vi

    • w!强制保存,不退出 vi

    • x保存,退出 vi

    • wq保存,退出 vi

    • wq!保存,强制退出 vi

    • 在正常模式下输入nyy命令可以把从当前光标所在行开始的连续 n 行拷贝到剪贴板

    • 在正常模式下输入ndd命令可以把从当前光标所在行开始的连续 n 行剪切到剪贴板

    • 在正常模式下输入np命令可以在当前光标所在行的下一行粘贴 n 次剪贴板中的内容

    • 在正常模式下输入G命令可以直接到达文件尾

    • 在正常模式下输入1G命令可以直接到达文件头

  • 在命令模式下使用 set 命令可以扩展 vi 的功能,~/.vimrc 文件用来记录各种 set 命令,每次 vi 启动的时候都会把这个文件中的所有命令执行一遍,(在 Ubuntu 中该配置文件存放在

  • /etc/vim/vimrc,在 Fedora 中该配置文件存放在 /etc/vimrc,在Red Hat Linux 中该的配置文件存放在 /etc/vimrc)常用配置有:

    • set nocompatible 关闭 vi 一致性模式

    • set number 显示行号

    • filetype on 检测文件类型

    • set ai 设置自动对齐,相应的 set noai 表示不使用自动对齐

    • set history=1000 历史记录行数

    • set tabstop=4 设置 tab 键宽度

    • set shiftwidth=4 设置行交错时宽度

    • syntax on 语法高亮

    • set autoindent 自动缩进

    • set background=dark 深色背景色

    • set smartindent 智能缩进

    • set showmatch 设置自动匹配(例如输入 ( 后自动匹配 ))

    • set guioptions 关闭 GUI 版本中的工具栏

    • set vb t_vb= 去除错误提示音

    • set ruler 显示光标位置指示器(显示在右下角)

    • set nohls 关闭寻找匹配时的高亮显示

    • set incsearch 相当于实时搜索,例如当搜索 abc 时,输入 \a 则自动查找到第一个 a 开头的单词,以此类推

  • 一个完整的 vi 配置:

Setter nocompatible
Setter number
filetype on
Setter ╮(╯▽╰)╭
Setter history=1000
Setter background=dark
syntax on
Setter autoindent
Setter smartindent
Setter tabstop=4
Setter shiftwidth=4
Setter showmatch
Setter guioptions-=T
Setter vb t_vb=
Setter ruler
Setter nohls
Setter incsearch
  • 最后我们再添加一段文字来开启自动备份的功能:
if has("vms")
   Setter nobackup
else
   Setter backup
endif
  • 如果如果你使用 vim 且设置不起作用,可以检查一下系统下是否安装了 vim-enhanced 包:
rpm –q vim-enhanced
  • 相关链接:

https://vimcdoc.sourceforge.net/

https://www.vim.org/

https://www.vi-improved.org/vimrc.php