Vim#

移动#

键位

功能

h

j

k

l

gg

光标移动到文件开头

G

光标移动到文件末尾

0

光标移动到行首

$

光标移动到行尾

23G

光标跳转到第 23 行

:23

跳转到第 23 行

插入#

键位

功能

i

在光标前插入一个字符

I

在行首插入一个字符

a

在光标后插入一个字符

A

在行尾插入一个字符

o

向下新开辟一行,插入行首

O

向上新开辟一行,插入行首

s

删除光标所在的字符,并进入插入状态

S

删除光标所在的行,并进入插入状态

复制、粘贴#

键位

功能

yy

复制当前行

10yy

复制 10 行

p

在光标所在位置下一行粘贴

P

在光标所在位置上一行粘贴

:set paste

防止粘贴时格式错乱

剪切、删除#

键位

功能

x

删除光标后一个字符

X

删除光标前一个字符

dw

删除光标开始位置的单词

d0

删除光标前本行文本的所有内容,不包含光标所在的字符

D

删除光标后本行所有的内容,包含光标所在的字符

dd

删除光标所在的行

n dd

删除光标后面所有的行,包含光标所在的行

撤销#

键位

功能

u

一步撤销,可多次使用

Ctrl + r

反撤销

查找#

键位

功能

/PATTERN

从光标所在位置向下查找

?PATTERN

从光标所在位置向上查找

Enter

完成输入模式

n

向下查找下一个

N

向上查找下一个

#

查找光标当前指向的字符串

替换#

命令

功能

r

替换当前字符

:s/PATTERN/toString

将当前行第一次出现的 PATTERN 替换为 toString

:s/PATTERN/toString/g

将当前行所有 PATTERN 替换为 toString

:%s/PATTERN/toString

将所有行第一次出现的 PATTERN 替换为 toString

:%s/PATTERN/toString/g

将所有行所有 PATTERN 替换为 toString

:2,3s/PATTERN/toString

将第 2 至 3 行第一次出现的 PATTERN 替换为 toString

:2,3s/PATTERN/toString/g

将第 2 至 3 行所有 PATTERN 替换为 toString

格式化文本#

键位

功能

>>

文本右移一个 Tab 大小

<<

文本左移一个 Tab 大小

gg=G

整理代码,使其符合标准格式

全选#

键位

功能

ggVG

全部选择

窗口#

键位

功能

Ctrl + S

冻结窗口

Ctrl + q

解冻窗口

记住上次打开的位置#

" 若要在重新打开文件时跳转到最后位置,请取消以下注释
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

管理 Vim 插件#

对于 Linux,默认安装的 Vim 版本如果是 7.x,而要使用 YouCompleteMe,则需要升级到 8.x。

安装 Vundle

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

配置 Vundle

~/.vimrc 文件中添加配置:

" General settings
set nu                  " 显示行号
set tabstop=4           " 设置 Tab 字符宽度
set softtabstop=4       " 设置缩进宽度
set shiftwidth=4        " 设置自动缩进宽度
"set expandtab          " 使用空格代替 Tab

set nocompatible        " 开启 Vim 增强模式
filetype off            " 关闭文件类型检测

" 设置运行路径以包含Vundle并初始化
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" Vundle管理自身
Plugin 'VundleVim/Vundle.vim'

" 添加其他插件示例
Plugin 'vim-scripts/Auto-Pairs'             " 自动完成括号/引号/方括号

call vundle#end()            " 结束 Vundle 配置
filetype plugin indent on    " 开启文件类型检测、插件和缩进

" 插件管理快捷方式
" :PluginList       - 列出已配置插件
" :PluginInstall    - 安装插件;加 ! 更新,或直接 :PluginUpdate
" :PluginSearch foo - 搜索 foo 插件;加 ! 刷新本地缓存
" :PluginClean      - 确认删除未使用的插件;加 ! 自动批准删除
" 更多详情见 :h vundle 或访问 wiki 查询 FAQ

打开 Vim,执行 :PluginInstall 安装插件。

删除插件

  • .vimrc 中移除不需要的插件条目。

  • 运行 :PluginUpdate! 更新插件列表。

  • 最后,运行 :PluginClean! 清理不再配置的插件。