vim一些常用命令

u : 撤销
ctrl n : 补全
ctrl r : 重做
shift zz : 保存退出
另存为 : w 新文件名
局部保存 : v模式: w! 文件名(!会覆盖)
vi -o 多个文件名
:! shell命令
:r 文件名 ----合并文件,读取并放进来

A : 在行尾添加
I : 在行首添加
O : 添加上一行
o : 下一行
% : 定位另一半括号

: set nu : 设置行号
: vs 横分屏
: sp 竖分屏
:% s/java/python/g
%表示全部文件 s表示替换 java-python g表示全局替换

v : 可视模式
V : 行选择
ctrl v : 块选择

insert模式下:
ctrl h : 删除上一个字符
ctrl w : 删除上一个单词
ctrl u : 删除这一行 :

终端下:
ctrl a : 快速移动到开头
ctrl e : 快速移动到结尾
ctrl b : 前移一个字母
ctrl f : 后移一个字母

ctrl [ : 代替ESC
gi : 快速跳到最后一次编辑的地方进入插入模式

:syntax on : 代码临时高亮

单词间移动:
w/W 移到下一个单词的开头
b/B 回到上一个单词的开头
e/E 移动到当前单词结尾
W 以空白符为分割

行间搜索:
f{char},移动到char上, 分号;表示下一个,逗号,表示上一个
用t代替f,会移到char的前一个字符
光标在行尾,用F

水平移动:
0 : 行首第一个字符
^ :第一个非空白字符
$ :行尾

垂直移动:
( ): 句子间移动
{ }: 段落间移动
插件学习: easy-motion

页面移动:
gg : 文件开头
G : 文件结尾
ctrl o : 快速返回
H/M/L : 开头中间结尾

ctrl u : 上翻页
ctrl f : 下翻页
zz : 把屏幕(光标)置为中间

Vim快速删除:
x : 删除下一个字符
大X : 删除前一个字符
d : 配合文本 daw删除一个单词
dw: 删除光标所在位置直到空白符
搭配数字:
diw :没删除空格,删一个单词
dt): 删除到)
dt" : 删除到"
d$ : 删到行尾
d0 : 删到开头
dd : 删除一行
di( : 删除()里面的
大D : 删除到行尾

数字 + 命令 : 表示多次执行
4x : 删除4个字符
2dd : 删除2行

Vim快速修改:
r : 替换一个字符,ra替换成a,R 往后替换
s : 删除当前字符,进入插入模式,S 整行删除进入插入模式
4s : 删除4个字符进入插入模式

c : 删除 + 插入
c0 : 删除光标当前位置(不包含)到行首的字符,插入
c$ : 删除光标当前位置(包含)到行尾的字符,插入
cb : 删除光标当前位置(不包含)到单词起始,插入
ce : 删除光标当前位置(包含)到单词结尾,插入
cw : 删除光标当前位置(包含)到下一个单词前,插入
caw : 删除光标所在单词到下一个单词前,插入
ciw : 删除光标所在单词,不包含空格,插入

ct" :删除整个""里面,进入插入模式
cc : 删除所在行的字符,进入插入,同大S
大C: 删除当前位置到行尾,插入
cj : 删除所在行及下一行,进入插入
ck : 删除所在行及上一行,进入插入
ci{ : 修改整个{ 里面的内容}

Vim复制粘贴:
normal模式:y复制,p粘贴,d剪贴,p粘贴到下一行,大P向上粘贴
v命令选中,y复制,p粘贴
yiw : 复制一个单词
yyp : 复制一行
ddp : 剪贴一行

Vim搜索:
/或? : 向前或向后搜索
n/N : 跳转到下一个/上一个
*或# : 当前单词向后/向前匹配

要加\的 : . * ? $ % ^ / ~ [ ]

/print :搜索print ---set hls : 设置高亮(high light search)
: set incsearch : 设置高亮再搜索

Vim搜索替换:
:range s/pattern/string/flags
range : 范围 %全部,10-20表示10-20行,不写表示光标所在行第一个
pattern :要替换的模式,可以正则
string : 替换后的文本
Flags : g表示全局,c(confirm)确认,可以确认或者拒绝修改
n(number)报告匹配的次数,而不替换

Vim多文件:
Buffer : 缓冲区
:ls 列举当前缓冲区
:e 路径 : 打开新的文件

:b 数字n 跳转到第n个缓冲区
:b 名字tab补全跳转
:blast :bfirst

Vim窗口:
:vs 垂直分割
:sp 水平分割
ctrl w : 窗口间切换
ctrl w + hjkl 方向选择
ctrl w + HJKL 窗口移动
ctrl w + c :关闭窗口

Text Object文本对象:
[number][text object>
number次数
command : d, c ,y(yank),v(选择)
text object : 要操作的文本对象,单词w,句子s,段落p
i : inner
a : around 包含空格
iw :viw v进入选择,iw inner word 选中当前单词
aw :vaw 不仅选择当前单词,还有单词之后的空格

:set autoindent 自动支持缩进

V选中+方向
shift << : 左移
shirt >> : 右移
数字行 + 缩进
. 重复上一次的命令

猜你喜欢

转载自www.cnblogs.com/oklizz/p/11131798.html