您的位置:首页 > 其它

vim快捷键,及vimrc的简单设置

2015-06-14 17:51 253 查看
1) 光标的移动

H 光标移动到屏幕的顶行行首

M 光标移动到屏幕的中间行行首

L 光标移动到屏幕的末行行尾

0 光标移动到当前行行首

$ 光标移动到当前行行尾

G 光标移动到当前行行首

gg 光标移动到首行行首

nG 光标下移N行(包括当前行)至行尾

n+ 光标下移N行(包括当前行)至行首

n- 光标上移N行(包括当前行)至行首

% 先吧光标停留在 ”{” 或者 “}” 能直接移动到与当前大括号匹配的另一个大括号

| 列

n| 光标移动到当前行的第n列

注意:vim是区分大小写的,H等价于Shift + h,也就是H和h是不同的命令!

小提示:

光标的移动可以和删除命令和复制复制命令一起使用!!

如:

d + 2 G 等价于删除从光标开始到第2行的所有内容

y + 2 G等价于复制从光标开始到第2行的所有内容

d + % 删除块中的所有内容

同理:d + gg 和 d+ G是什么作用?

2) 翻滚屏幕

Ctrl + u 向文件首方向翻滚半屏幕

Ctrl + d 向文件尾方向翻滚半屏幕

Ctrl + b 向文件首方向翻滚一个屏幕

Ctrl + f 向文件尾方向翻滚一个屏幕

Ctrl + g 列出光标所在行的行号, 文件名, %n

Ctrl + p 调用插件补全单词快捷键pattern

Ctrl + r 恢复

3)
插入文本


i 从光标前面插入

I 从光标所在行的行首插入

a 从光标后面面插入

A 从光标所在行的末尾插入

o 从光标所在行的下一行插入(新增一行)

O 从光标所在行的上一行插入(新增一行)

r 替换光标所在处的字符

nr 替换光标所在处以及后面的n个字符

R 进入替换状态,直到按下ESC结束

提示:很多初学者一般只会用 i ,但I A o也挺重要的,可以大大减少我们移动光标的次数!!

4) 删除文本

x
删除从当前位置开始的个字符,含光标所指字符

X 从当前位置开始向前删除字符,不包含所指字符

NX

NX

D$ 删除到行尾

D0 删除到行首

dw

dn

dd

ndd

5)
复制 粘帖 移动


yy

nyy

yw

p

:n1, n2 co n3 复制

:n1, n2 m n3 粘帖

n1表示哪一行,n2表示从n1往下修改多少行(包含n1) 一个>表示一个\t

:n1 > n2

:n1 < n2

:n1 >> n2

:n1 << n2

6) 查找和替换

/ 从当前的位置开始向文件末尾方向搜索

? 从当前的位置开始向文件开始方向搜索

n 沿着相同的方向继续查找

N 沿着相反的方向继续查找

不加g表示之替换行的地一个

:s/old/new

:s/old/new/g

n1,p2/old/new/g 将地n1行到n2行所有的old替换为new

:0,$ s/old/new/g 0和$表示从首行到末行

:%s/old/new/g %表示全部行,加g表示全部替换,不加g只替换全部行的第一个

7) 撤销和重复

u 撤销先前的命令,一直往前撤销

U 修正先前的一条撤销命令

:undo 撤销先前的命令

. 重复编辑状态中最后一次输入

Ctrl + r 撤销刚才所做的撤销操作(还原撤销状态)

8) 基本底行命令

:q

:q!

:w

:w! 保存只读文件, 强制保存

:wq

:x

ZZ

:e file_name
在当前vi文件中欧给你打开一个新的文件,原来的文件会被关闭

:e! load
重新载入当前文件,之前的修改会被全部放弃

:new 打开一个新的文件, 原来的文件不会被关闭,分页显示

:! 不离开vi环境执行shell命令

:n 跳转到第n行

9) 设置选项

:set all 显示所有的选项当前

:set autoindent/noautoindent 自动缩进/不自动缩进

:set ai / noai

syntax on / off 语法加亮

set st = 4

set ts = 4

配置文件(伸手党直接看这)

vi ~/.vimrc(首先打开当前用户的vimrc配置文件)

C++风格的缩减格式,用下面的命令打开配置文件后,把下面的英文复制进去,保存退出即可

set cindent

set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s

set number " Show line number

set tabstop=4

set softtabstop=4

set autoindent

set shiftwidth=4

if &term=="xterm"

set t_Co=8

set t_Sb=^[[4%dm

set t_Sf=^[[3%dm

endif

10) 较常用的命令

S 修改光标所在行的内容,原来的内容会被删除

C 删除光标所在行后面的内容并切换到输入状态,如1234567,光标停留在4,S后只有123

K 和!作用一样

J 把光标所在行的和光标下一行连接在一起

:split + 文件名 打开另一个文件,2个文件公用一个窗口,以水平分屏显示

:vplit + 文件名 同上,以垂直分屏显示

最后送上一张比较基经典的图片




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: