vim命令
1. 移动
0 //行首
$ //行尾
^ //行首非空白字符
fx //向后移动到字符x
Fx //向后移动到字符x
e #单词尾
ge #上一个单词尾
b #向后移动一个单词,把符号或标点当作单词处理
B #向后移动一个单词,不把符号或标点当作单词处理
w #向前移动一个单词,将符号或标点当作单词处理
W #向前移动一个单词,不把符号或标点当作单词处理
G //移动到文件尾
gg //移动到文件首
H //移动到上面
M //移动到屏幕中间
L //移动到下面
Ctrl-f //向下移动一屏
Ctrl-b //向上移动一屏
Ctrl-d //向下移动半屏
Ctrl-u //向上移动半屏
Ctrl o ”回到前一个浏览过的位置
Ctrl i “回到后一个浏览过的位置
2. 删除
x ”删除光标处字符
s ”删除光标处字符输入
s #删除一个字符插入
S #删除整行插入
dd "删除整行
D #删除到行尾
C "删除到行尾输入
cw #删除光标后单词插入
caw #删除光标处单词插入
cis "删除整段输入
dw #删除光标后单词
daw #删除光标处单词
:s/a//g #删除所有a
g/this/d //删除带有this的行
g!/this/d //删除不带this的行
3. 编辑
常规编辑
i "光标前输入
a "光标后输入
o “光标下方新开一行输入
O ”欧,光标上方新开一行输入
r “替换光标处字符
u "撤销
Ctrl r "取消撤销
v “标记
y ”复制标记的内容
d ”剪切标记到内容
p “粘贴
列模式
ctrl +q "进入列模式, 或ctrl+v
移动选择选区
shitf + i “插入
esc “按完执行
4. 查找替换
:/a #查找a。n向下搜索,N向上搜索
:s/a/b/g #将当前行所有a替换为b
:%s/a/b/g #将所有a替换为b
5.控制
:color 然后空格 然后Tab #配色
Ctrl z "挂起
fg 回车 "恢复
5. 窗口
:vnew //垂直分割窗口
:new //水平分割
:split //水平分割,新窗口克隆原窗口
:vsplit //垂直分割,新窗口克隆原窗口
ctrl+w+w //切换窗口
:close //关闭窗口,或 :q 等
:only //关闭其余窗口
6. 编程
* //标记字符串
# //反向标记字符串
ctrl+x+l //整行补全
ctrl+x+d //宏补全
ctrl+x+u //函数补全
ctrl+x+o //omni 函数补全
ctrl+n //向下切换 or 补全
ctrl+p //向上切换
ctrl+e //停止补全
:make file //编译 file.c
:cnext //定位到下一个错误
ctrv+v //块操作
$vim -b file //编辑二进制文件
$vim -d file1 file2 //对比文件
$vimdiff file1 file2 //对比
mksession session1.vim //保存会话,保存文件名为session1.vim
source session1.vim //恢复保存的session1.vim
7. 配置文件
/etc/vimrc #全局配置文件路径, 需要有操作权限
.vimrc # 个人配置文件, 家目录下, 不存在时自己创建
" 注释 ,双引号作为注释
set nocompatible "不对vi进行兼容, 兼容模式无法使用vim扩展
set cindent //c语言自动缩进
set autoindent //换行后自动进行同级别缩进
set smartindent //智能对齐, 各种配置前加no就反过来了, 例如nosmartindent
set nu //设置行号, set nonu 取消行号
set ts=4 //tab4个空格
set softtabstop=4 " 按退格键的时候退回缩进的长度
set expandtab " 缩进用空格来表示
set showmatch //显示匹配的括号
set hlsearch //搜索高亮
syntax on //语法高亮
set statusline =%f_%l--%L "状态栏显示文件名,当前行号,总行数
set laststatus=2 "总是显示状态栏, 不能由空格

浙公网安备 33010602011771号