Vim 有三个模式:
- 命令模式
- 编辑模式
- 命令行模式
命令模式
光标移动
h 左
j 下
k 上
l 右
0 行首
^ 行首
$ 行尾
gg 文件首行
G 文件末行
翻页
Ctrl f 向下翻一页
Ctrl b 向上翻一页
Ctrl d 向下翻半页
Ctrl u 向上翻半页
进入编辑模式
i 当前位置
I 当前行首非空格处
a 当前位置后
A 当前行尾
o 当前下一行
O 当前上一行
进入命令行模式
: 等待输入命令
/ 向后搜索 n 下一个搜索词
? 向前搜索 N 上一个搜索词编辑
编辑操作
x 删除光标处一个字符
X 删除光标前一个字符
dd 删除整行
dw 删除到词尾
di" 删除"内的内容
yy 复制整行
p 粘贴在光标后
P 粘贴在光标前
r 替换光标处字符
R 连续替换,直到按Esc退出
u 撤消
Ctrl r 对撤消的撤消
. 重复最近的动作
"+y 从vim复制到系统剪切板
"+p 从系统剪切板粘贴到vim
选择操作
v 块选择
V 行选择
Ctrl v 矩形选择
d 删除
y 复制
p 粘贴
编辑模式
ctrl x ctrl n 上下文联想选择
命令行模式
:w 写入文件
:q 退出
:q! 退出(不保存)
多文件操作
:open file 打开file
:r file 将file的内容写到光标后
:files 列出当前打开的所有文件
:n 下一个文件
:N 上一个文件
:sp 上下分屏
:vsp 左右分屏
:q 退出分屏
ctrl w hjkl 在分屏之间切换
ctrl w s 上下分屏
ctrl w v 左右分屏
Vim配置
~/.viminfo
记录用户的 vim 操作
~/.vimrc
记录用户的 vim 配置
从零开始的 .vimrc
配置
- 安装插件管理器
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- 编辑
~/.vimrc
syntax on
set number
"set relativenumber
set ruler
set tabstop=4
set shiftwidth=4
set expandtab
set background=dark
set nocompatible
set hidden
filetype plugin on
set ignorecase smartcase
set incsearch hlsearch
set encoding=utf-8
set showcmd
set laststatus=2
set cursorline
set smartindent autoindent
language messages zh_CN.utf-8
set helplang=cn
set splitright splitbelow
"set nowrap
set noswapfile
set mouse=a
set scrolloff=5
set autochdir
" set colorcolumn=80
set nowrapscan
set noshowmode
call plug#begin('~/.vim/plugged')
Plug 'morhetz/gruvbox'
"Plug 'vim-airline/vim-airline'
"Plug 'vim-airline/vim-airline-themes'
call plug#end()
colorscheme gruvbox
"let g:airline_powerline_fonts = 1
- 在 vim 中安装插件
:PlugInstall
- 效果