Vim#
移动#
键位 |
功能 |
---|---|
|
左 |
|
下 |
|
上 |
|
右 |
|
光标移动到文件开头 |
|
光标移动到文件末尾 |
|
光标移动到行首 |
|
光标移动到行尾 |
|
光标跳转到第 23 行 |
|
跳转到第 23 行 |
插入#
键位 |
功能 |
---|---|
|
在光标前插入一个字符 |
|
在行首插入一个字符 |
|
在光标后插入一个字符 |
|
在行尾插入一个字符 |
|
向下新开辟一行,插入行首 |
|
向上新开辟一行,插入行首 |
|
删除光标所在的字符,并进入插入状态 |
|
删除光标所在的行,并进入插入状态 |
复制、粘贴#
键位 |
功能 |
---|---|
|
复制当前行 |
|
复制 10 行 |
|
在光标所在位置下一行粘贴 |
|
在光标所在位置上一行粘贴 |
|
防止粘贴时格式错乱 |
剪切、删除#
键位 |
功能 |
---|---|
|
删除光标后一个字符 |
|
删除光标前一个字符 |
|
删除光标开始位置的单词 |
|
删除光标前本行文本的所有内容,不包含光标所在的字符 |
|
删除光标后本行所有的内容,包含光标所在的字符 |
|
删除光标所在的行 |
|
删除光标后面所有的行,包含光标所在的行 |
撤销#
键位 |
功能 |
---|---|
|
一步撤销,可多次使用 |
|
反撤销 |
查找#
键位 |
功能 |
---|---|
|
从光标所在位置向下查找 |
|
从光标所在位置向上查找 |
|
完成输入模式 |
|
向下查找下一个 |
|
向上查找下一个 |
|
查找光标当前指向的字符串 |
替换#
命令 |
功能 |
---|---|
|
替换当前字符 |
|
将当前行第一次出现的 |
|
将当前行所有 |
|
将所有行第一次出现的 |
|
将所有行所有 |
|
将第 2 至 3 行第一次出现的 |
|
将第 2 至 3 行所有 |
格式化文本#
键位 |
功能 |
---|---|
|
文本右移一个 Tab 大小 |
|
文本左移一个 Tab 大小 |
|
整理代码,使其符合标准格式 |
全选#
键位 |
功能 |
---|---|
|
全部选择 |
窗口#
键位 |
功能 |
---|---|
|
冻结窗口 |
|
解冻窗口 |
记住上次打开的位置#
" 若要在重新打开文件时跳转到最后位置,请取消以下注释
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!
清理不再配置的插件。