Skip to content

vim

u :撤销

crtl + r:重复上一个动作

.重复上一个动作

p 向下复制

P 向上复制

crtl + z / fg

光标

hjkl
+-0$
上一行,非空格字符下一行,非空格字符当前行最前面当前行最后面

number + 空格:向后移动 20 个空格

编辑

x

xXnX,如 10X
删除键,向后删删除键,向前删删除 10 个字符

d

dd20ddd1GdG
整行删除删除 20 行(包括当前)光标到顶,全删(包括光标)光标到尾,全删(包括光标)

y

yy20yyy1GyG
选中并且复制当前行复制 20 行(包括当前)光标到顶,全复制(包括光标)光标到尾,全复制(包括光标)

其他快捷键 01

d$d0
删除光标后面所有字符(行,包括光标)删除光标前面所有字符(行,不包括光标)
y$y0
复制光标后面所有字符(行,包括光标)复制光标前面所有字符(行,不包括光标)

vim +

多行选择

选择:v V ctrl+v
复制:y
删除:d

多文档切换

:n 去下一个文档
:N 去上一个文档
:files 显示所有文档

窗口分割

:sp: 开启分屏
:sp: 文件名:开启分屏,打开文件
ctrl + w + k:↑
ctrl + w + j:↓
:q: 退出

设置

http://cn.linux.vbird.org/linux_basic/0310vi_3.php

vim ~/.vimrc
" 基础设置
set nocompatible        " 不启用 Vi 兼容模式
set number              " 显示行号
" set relativenumber      " 显示相对行号(便于跳转)
set cursorline          " 高亮当前行
set showcmd             " 显示命令
set ruler               " 显示光标位置

" 缩进与制表
set tabstop=4           " Tab 显示为 4 个空格
set shiftwidth=4        " 缩进为 4 个空格
set expandtab           " 将 Tab 替换为空格
set autoindent          " 自动缩进
set smartindent         " 智能缩进

" 搜索相关
set ignorecase          " 搜索时忽略大小写
set smartcase           " 如果有大写字符,则大小写敏感
set incsearch           " 输入搜索内容时实时搜索
set hlsearch            " 搜索后高亮匹配内容

" 外观
syntax on               " 启用语法高亮
set background=dark     " 深色背景适配
colorscheme desert      " 设置配色方案(可换成你喜欢的)

" 编辑增强
set mouse=a             " 启用鼠标支持
set clipboard=unnamedplus " 使用系统剪贴板(需要 Vim 支持)
set wildmenu            " 命令行补全增强
set backspace=indent,eol,start " Backspace 更加智能
set undofile            " 启用撤销历史文件

" 状态栏优化
set laststatus=2
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\

" 文件编码
set encoding=utf-8
set fileencodings=utf-8,gbk,latin1

翻页

向上 = Ctrl + f = Ctrl + d

向下 = Ctrl + b = Ctrl + u

G 最后一行

1G,第一行

2G,第二行

gg = 1G = 第一行

HML
可视区域 最上可视区域 中间可视区域 最下

find

/word 向下找 word

?word 向上找 word

n 下一个

N 上一个

.swp

Swap file ".man.config.swp" already exists!底下说明你可进行的动作
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

[O]pen Read-Only:只读

(E)dit anyway:正常打开,但是放弃之前的内容

(R)ecover:加载之前的内容,需要自己手动删除 .swp

(D)elete it:删除 .swp,无视