vim

image

1- Vim 入门指南

1.1- Vim 简介

Vim(Vi IMproved)是一个高度可配置的文本编辑器,广泛用于程序开发和文本编辑。它是 Vi 编辑器的增强版,提供了更多的功能和更好的用户体验。

1.2- 安装 Vim

Vim 可以在多种操作系统上运行,包括 Linux、macOS 和 Windows。

1.2.1- Linux

sudo apt-get update
sudo apt-get install vim

1.2.2- macOS

使用 Homebrew 安装:

brew install vim

1.2.3- Windows

从 Vim 官网(vim.org)下载 Windows 安装包并按照提示安装。

1.3- Vim 的基本操作

1.3.1- 启动 Vim

vim 
vim filename.txt 

1.3.2- 模式切换

Vim 有多种模式,最常用的是普通模式、插入模式和命令模式。

  • 普通模式: 用于浏览和编辑文本,启动 Vim 时默认进入此模式。
  • 插入模式: 用于插入文本。按 i 进入插入模式,按 Esc 返回普通模式。
  • 命令模式: 用于执行保存、退出等命令。按 : 进入命令模式。

1.3.3- 基本命令

  • 保存文件: :w
  • 退出 Vim: :q
  • 保存并退出: :wqZZ
  • 强制退出(不保存): :q!
  • 撤销: u
  • 重做: Ctrl + r

1.3.4- 光标移动

  • h: 左移
  • j: 下移
  • k: 上移
  • l: 右移
  • gg: 移动到文件开头
  • G: 移动到文件结尾
  • 0: 移动到行首
  • $: 移动到行尾
  • w: 移动到下一个单词开头
  • b: 移动到前一个单词开头

1.3.5- 文本编辑

  • x: 删除光标所在字符
  • dd: 删除当前行
  • yy: 复制当前行
  • p: 粘贴
  • r: 替换光标所在字符
  • cw: 修改当前单词
  • cc: 修改当前行

1.4- 高级功能

1.4.1- 分屏操作

  • :split:sp: 水平分屏
  • :vsplit:vsp: 垂直分屏
  • Ctrl-w + 方向键: 在分屏间切换

1.4.2- 查找和替换

  • /pattern: 向前查找 pattern
  • ?pattern: 向后查找 pattern
  • :s/old/new/g: 在当前行替换所有 oldnew
  • :%s/old/new/g: 在整个文件中替换所有 oldnew

1.4.3- 使用插件

Vim 有丰富的插件生态,可以通过插件管理器(如 Vundle、Pathogen、vim-plug)来安装和管理插件。

1.4.3.1- 使用 vim-plug 安装插件

  1. 安装 vim-plug:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  1. 编辑 .vimrc 文件,添加插件配置:
call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-sensible' 
call plug#end()
  1. 在 Vim 中运行以下命令安装插件:
:PlugInstall

1.4.3.2- 插件管理

  • 更新插件: :PlugUpdate
  • 删除插件: 从 .vimrc 中移除插件配置,然后使用 :PlugClean 删除插件文件
  • 推荐插件:
    • NERDTree: 文件浏览器
    • fzf.vim: 模糊查找
    • vim-airline: 状态栏

1.5- 自定义配置

你可以通过编辑 .vimrc 文件来自定义 Vim 的行为和外观。

1.5.1- 示例

" 显示行号
set number
" 启用语法高亮
syntax on
" 将 jj 映射为 Esc
inoremap jj <Esc>

1.5.2- 其他配置

  • 自动补全: 配置 YouCompleteMe 或其他自动补全插件。
  • 代码格式化: 配置 ALE 或其他代码格式化插件。

1.6- 学习资源

  • vimtutor: Vim 自带的教程,输入 vimtutor 启动。
  • Learn Vim Script the Hard Way: 一本深入学习 Vim 脚本的书。
  • Vim 官网: 提供了丰富的文档和资源。

1.7- 常见问题及解决方法

1.7.1- 颜色显示问题

问题: 主题应用后,颜色显示不正确。

解决方法:

  1. 确保终端支持 256 色或真彩色。
  2. .vimrc 中添加以下设置:
set t_Co=256
set termguicolors

1.7.2- 文件编码问题

问题: 文件中出现乱码。

解决方法:

  1. 设置文件编码:
set encoding=utf-8
set fileencoding=utf-8