vim 快捷键

1 篇文章 0 订阅

模式

normal 正常模式

inset 插入模式 ---i,o,a

command 命令模式----(shift+冒号)

visual 可视模式----v,大V(ctrl+v)

锁屏与反锁屏----此功能是linux系统的,非vim的

ctrl+s 锁屏

ctrl+q 取消锁屏

行号

:set nonu /set nonumber 隐藏行号

:set nu / set number 显示行号

:nu 查看当前行行号

注释/反注释

单行--行首#或//

多行注释--块模式ctrl+v选择,大写的I(或shift+i),两次Esc,

多行反注释--块模式ctrl+v选择,先择注释号, d 删除,

撤销和反撤销

u 撤销

ctrl+r 反撤销

选择内容复制

v(模式,或ctrl+v(块模式))--y(复制,x剪切)--i(移动光标)-esc(模式切换)--p(粘贴

查找

gd 查找光标下的word n/N 上下选择 3n 下面的第三个。

正常模式

/a enter,找a 顺查.

?a enter 倒查

:/the enter 查找the ci

:?the enter 搜索上面的the c i

:#the enter 搜索下面的the c

:nohl 去掉高亮 c

#是 *的反向 \是转义。如点需要转义 \.

/the 找所有的thetheme也会有

/the\> 只查找the

正则查找 ^开头,$结束 /the$ 所有行结尾的the /^the 开头的the /^the$,包含the的,中间有空白也不行,.点匹配任何字符

上一个,下一个

* 下面的同一单词 n

# 上面的同一单词 n

行内搜索(注意:以上四个命令中,其中x是键入的字符)。

f 往右移动到 x 字符上 n

F 往左移动到 x 字符上 n

t 往右移动到 x 字符前 n

T 往左移动到 x 字符后 n

3fa 找到当前行的第3a

;分号,配合 f t 使用,重复一次

,逗号,配合 f t 使用,反方向重复一次

%可以搜索与之匹配的对应的()[]{}。这个功能对于书写程序特别有用。

替换

:s/a/b/ 光标当前行的第一个a替换成b,

:s/a/b/g 光标当前行所有a替换成b,

n$s/a/b/ 替换第 n 行开始到最后一行中每一行的第一个a b

n$s/a/b/g 替换第 n 行开始到最后一行中每一行所有 a b

n 为数字,若 n .,表示从当前行开始到最后一行)

:%s/a/b/ 所有行 第一个

:%s/a/b/g 所有行 所有

:%s/a/b/c 替换时提醒确定。

y 好吧,替换 yes

n 不替换 no

a 全替换 all

q 退出,不替换了。

:n1,n2s/^/#/gc n1n2行行首加入“#” “^”符号代表的是行首 ,'g'表示全部,“c”表示不确认

:n1,n2s/^#//g n1到n2行行首开始的“#”去掉

:n1,n2s/^//g n1到n2行在行首添加“//”

:n1,n2 s/old/new/gnew替换从第#行到第#行中出现的old

:s/old/new/c

:s/old/new/gc

在可视化模式下,按小写的V,首先选择替换范围, 然后输入:进入命令模式( 相当于选择了范围),就可以利用s命令在选中的范围内进行文本替换。区块编辑

 

区块编辑

1.区块选择 CTRL-V 进入,gVim 则按 CTRL-Q(大写) 进入

2.先择列内容 复制p

3.使用普通模式, 移动光标, p粘贴

文本复制粘贴

在正常模式下(按ESC进入)按键v进入可视化模式,然后按键盘左右键或h,l键即可实现文本的选择。

其它相关命令:

v:按字符选择。经常使用的模式,所以亲自尝试一下它。

V:按行选择。这在你想拷贝或者移动很多行的文本的时候特别有用。

CTRLv:按块选择。非常强大,只在很少的编辑器中才有这样的功能。你可以选择一个矩形块,并且在这个矩形里面的文本会被高亮。

剪切(删除)

 

dd:剪切当前行

nddn表示大于1的数字,剪切n 包括当前行

dw:从光标处剪切至一个单子/单词的末尾,包括空格

de:从光标处剪切至一个单子/单词的末尾,不包括空格

d$或大D :从当前光标剪切到行末(包括光标位置)删除到行末

d0:从当前光标位置(不包括光标位置)剪切之行首

dnl 剪个字符

x是删除当前光标位置的字符

X是删除当前光标位置的前面一个字符。

D 代表d$ ,从光标处删除到行尾

C 代表D+a 从光标处删除到行尾并插入 D+a

s 代表cl 修改一个字符 x+a

cc 修改一整行 dd+a

复制(类似剪切)

yy:复制当前行

nyyn表示大于1的数字,复制n

yw:从光标处复制至一个单子/单词的末尾,包括空格

ye:从光标处复制至一个单子/单词的末尾,不包括空格

y$:从当前光标复制到行末

y0:从当前光标位置(不包括光标位置)复制之行首

粘贴

p,光标之后粘贴

P粘贴在光标前

撤销和恢复

u :小u撤消一次操作

ctrl+r 撤销撤销操作,与小u相反   ctrl+r

u.撤消对一行的全部操作.第二次会撤消第一次大u的操作. 少用

v模式下选择矩形文本

删除大段文本,用v 模式 小写的v

vjj 选中3行。

o 在左上角,右下角移动,

O O ,同一行左右两角移动。

d x 删除文本。

p p删除后被保存,光标移动,按p插入。p=put

注:删除是块,下行插入,删除是word,在后面插入

调换字母位置

teh the

teh 光标在e xp 变成 the

x 删除e,放到寄存器中,

p 删除的e,放回光标之后

插入

i:在光标所在字符前开始插入

a:在光标所在字符后开始插入

o:在光标所在行的下面另起一新行插入

s:删除光标所在的字符并开始插入

I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入

A:在光标所在你行的行尾开始插入

O:在光标所在行的上面另起一行开始插入

S:删除光标所在行并开始插入

另外 u 撤销上一步的操作 Ctrl+r 恢复上一步被撤销的操作

光标移动

1.屏幕移动

Ctrl + f //向前(往行号大的方向移动)移动一屏,想来F代表Forward

Ctrl + b //向后移动一屏,B的话应该是Before吧

Ctrl + d // 向前移动半屏,D指Down

Ctrl + u //向后移动半屏,U指Up

2.在屏幕中移动

H 移动到屏幕顶端的行

M 移动到屏幕中央的行

L 移动到屏幕底端的行

nH 移动到屏幕顶端往下的第n

nL 移动到屏幕顶端往上的第n

3.z调整光标

z 将光标所在行移动到屏幕顶端

z. 将光标所在行移动到屏幕中间

z- 将光标所在行移动到屏幕低端

4.根据文本块移动

所谓的文本块也就是句子、段落、小节等

移动到当前句子开头

移动到下一个句子开头

{ 移动到当前这一段开头

} 移动到下一段开头

[[ 移动到当前这一节的开头 这个对代码很有用

]] 移动到下一节的开头 这个对代码很有用

5.根据行号来移动

Ctrl+g 显示当前行信息

nG 转至第n

G 转至文本末尾

gg         移至文本开头

``两个 反引号可以返回到使用G之前的位置

6.整行移动

^ 移动光标到行首第一个非空字符上去

0 移动到行首

$ 移动到行末

+ 移动到下一行开头

- 移动到上一行开头

 

7.单词移动

W w 移动到下一个单词开头

E e 移动到下一个单词结尾

B b 倒退到上一个单词开头

8.字符移动

k 上移 k

h 左移 h l

l 右移 j

j 下移

 

跳跃:

 

返回光标历史位置

CTRL+O 偶,跳到更早时停置的光标。

CTRL+I 跳回到较新的位置,和tab一样。

:jumps 查看所有曾经跳转过的位置。

``两个 反引号可以返回到使用G之前的位置

格式化,排版

J 下面一行合并到上面的一行 n

gg=G自动缩进 n

<< 或者>> 或者<>+enter 当前行缩进 n

n<< n<+enter 光标算起下面N行缩进 n

v模式下选中代码块 == (连按=两次) v

窗口切换

ctrl+ww 轮流切换

ctrl+w+ hjkl 窗口切换

编码

:set fileencoding Vim中查看文件编码

:set fileencoding=utf-8 设置编码

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值