自学内容网 自学内容网

VIM简要介绍

安装

大多数 Linux 发行版和 macOS 都预装了 VIM。如果没有,你可以通过包管理器安装:

  • Ubuntu/Debian: sudo apt-get install vim
  • Fedora: sudo dnf install vim
  • macOS: brew install vim(使用 Homebrew)
  • Windows: 可以从 VIM 官网下载安装包,或者使用包管理工具如 Chocolatey (choco install vim)

启动VIM

在终端中输入 vim,然后回车。你也可以指定要编辑的文件,例如:vim filename.

基本模式

VIM 有多个工作模式,常用的有以下几种:

  1. 普通模式 (Normal Mode): 默认模式,用于导航和文本操作。
  2. 插入模式 (Insert Mode): 按 i 进入,进行文本插入。
  3. 可视模式 (Visual Mode): 用于选择文本。按 v 进入字符选择,V 进入行选择,Ctrl+v 进入块选择。
  4. 命令模式 (Command Mode): 按 : 进入,用于执行底线命令。

基本命令

普通模式导航
  • h:左移光标
  • j:下移光标
  • k:上移光标
  • l:右移光标
  • gg:跳到文件首行
  • G:跳到文件尾行
  • w:跳到下一个单词的开头
  • b:跳到前一个单词的开头
  • 0:跳到行首
  • $:跳到行尾
插入文本
  • i:在光标前插入
  • a:在光标后插入
  • o:在当前行下插入新行
  • O:在当前行上插入新行
编辑操作
  • x:删除光标所在字符
  • dd:删除整行
  • yy:复制当前行
  • p:粘贴
  • u:撤销
  • Ctrl+r:重做
文件操作
  • :w:保存文件
  • :q:退出 VIM
  • :wqZZ:保存并退出
  • :q!:强制退出(不保存)
  • :e filename:打开文件
  • :set nu:显示行号
  • :set nonu:隐藏行号
搜索与替换
  • /pattern:向前搜索 pattern
  • ?pattern:向后搜索 pattern
  • n:跳到下一个匹配项
  • N:跳到上一个匹配项
  • :%s/old/new/g:替换整个文件中的 oldnew
  • :s/old/new/g:替换当前行中的 oldnew

高级功能

分割窗口
  • :split:sp:水平分割窗口
  • :vsplit:vsp:垂直分割窗口
  • Ctrl+w w:切换窗口
  • Ctrl+^:在两个最近的文件之间切换
标签页
  • :tabnew:新建标签页
  • :tabnext:tabn:下一个标签页
  • :tabprevious:tabp:上一个标签页
  • :tabclose:关闭当前标签页
配置

VIM 的配置文件通常位于 ~/.vimrc,你可以在这个文件中添加自定义设置,例如:

set number        " 显示行号
syntax on         " 启用语法高亮
set tabstop=4     " 设置 Tab 宽度为 4
set expandtab     " 将 Tab 转换为空格
set shiftwidth=4  " 设置自动缩进的宽度

插件管理

VIM 有丰富的插件生态,你可以使用插件管理器如 Vundle、Pathogen 或 vim-plug 来安装和管理插件。例如,使用 vim-plug:

  1. 安装 vim-plug:

    curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
        https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
    
  2. 配置插件:
    ~/.vimrc 中添加:

    call plug#begin('~/.vim/plugged')
    Plug 'preservim/nerdtree'
    call plug#end()
    
  3. 安装插件:
    打开 VIM,输入 :PlugInstall

学习资源

  • VIM 自带教程:在终端中输入 vimtutor
  • 官方文档::help
  • 在线资源和社区:VIM 官网、VIM Wiki、Stack Overflow等

原文地址:https://blog.csdn.net/weixin_39699362/article/details/142559150

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!