VIM操作列表

8 篇文章 0 订阅

Vim cheatsheet from He.

Vim常用操作总结

 

Key

Action

u

undo

ctrl + r

redo

D

删除到行尾

dt + char

(delete till)删除当前光标到指定字符间的内容

di + char

(delete in)删除两个char之间的内容(常用di{ di[),删除打印语句

da + char

删除两个char之间的内容以及对应的char

gd

查找光标所在处局部变量的定义

gD

查找光标所在处全局变量的定义

gg=G

从头到脚自动缩进

/\cword

忽略大小写查找word模式(case)

/\Cword

大小写敏感查找word模式(Case)

*, #

可对光标处的词向前/向后做全词搜索,g*, g# 做相对应的非全词匹配搜索,匹配玩按N. (SI的shift+F3 shift+F4)

:bn

切换到当前buffer的下一个buffer, 配置成]b,切换TAB页(SI的alt+tab)

:bp

切换当前buffer的前一个buffer, 配置成[b,切换TAB页

:b<n>

打开n号的buffer,切换TAB页

v 行模式

Veg整行模式,hjkl进行选定,就像鼠标选定一样,所以叫做可是模式

ctrl+v

列模式,+I input esc每行都添加, +c input esc每行都删除选定的字符之后添加

%s/orc/dest/gc

当前文件中全部src替换成dest,并挨个确认(c代表确认) (SI的ctrl+P)

zc

折叠代码 ,跳过整个for循环,if条件

space or zo

打开折叠代码

:f or ctrl+g

查看当前文件路径(相对vim执行目录)

guw or gUw

将当前word变为小(大)写

~

改变光标下字母的大小写

:e!

恢复至文件打开的状态

光标移动

Key

Action

w

移动到一下个词首(word)

b

移动到上一个词首(before)

e

移动到当前词尾(end)

ctrl + i

跳转到后一个光标停靠点 (SI的 alt+<)

ctrl + o

跳转到前一个光标停靠点 (SI的alt+>)

[{

到代码块起始的大括号处

]}

到代码结束的大括号处

跳转到和当前括号匹配的括号处,SI中选定后按上下键跳过整个括号的内容

gg

跳到文件头

G

跳到文件尾

nG

跳转到第n行

H

 当前区域最上一行(High)

M

当前区域中间一行(Middle)

L

当前区域最后一行(Low)

分屏

Key

Action

ctrl+w v

左右分割当前打开的文件

ctrl+w s

上下分割当前打开的文件

ctrl+w c

关闭当前窗口

ctrl+w q

关闭当前窗口,如果只剩最后一个了,则退出Vim

ctrl+w hjkl

移动相邻窗口

项目中全局查找字符串(SI的ctrl+/功能)

:vimgrep/the menu/ *.php在当前目录下的所有php文件中查找the menu字符串
:vimgrep/the menu/ **/*.c在当前目录及子目录下的.c文件中查找the menu字符串

查找的结果可以用:copen命令查看,在列表里,将光标移动至相应的位置,按回车就打开对应的文件了.
:

Key

Action

:copen

打开quickfix

:cclose

关闭quickfix

:cc

是在转到当前查找到的位置

:cn

转到下一个位置

:cp

转到前一个位置


cscope

使用方法:
:cs find{querytype} {name} or :cs f{querytype} {name}
其中:
{querytype}
即相对应于实际的cscope行接口数字,同时也相对应于nvi命令:

Key

Action

s

查找这个C符号

g

查找这个定义

d

查找被这个函数调用的函数(们)

c

查找调用这个函数的函数(们)

t

查找这个字符串

e

查找这个egrep匹配模式

f

查找这个文件

i

查找#include这个文件的文件(们)


CtrlP

ctrl+d切换匹配模式:full-path匹配 / 只匹配文件名

ctrl+ffiles/mru files/buffers之间切换查找范围

tab补全

ctrl+u清除输出内容

ctrl+z标记要打开的文件

ctrl+o打开多个标记文件


nerdcommenter

Key

Action

cc

普通方式注释

cs

风骚的多行注释(comment sexy?)

cu

 取消注释

c+space

注释选定代码行

ca

在可选的注释方式之间切换,比如C/C++ 的块注释/ /和行注释//

|cA|在当前行尾添加注释符,并进入Insert模式|


a.vim

Key

Action

:A

头文件/源文件切换

:AS

分割窗后并切换头/源文件(切割为上下两个窗口)

:AV

垂直切割窗口后切换头/源文件(切割为左右两个窗口)

:AN

在多个匹配文件间循环切换

:IH

切换至光标所在文件

:IHS

分割窗口后切换至光标所在文件(指将光标所在处单词作为文件名打开)

:IHV

垂直分割窗口后切换

:IHT

新建标签式窗口后切换

:IHN

在多个匹配文件间循环切换

ih

切换至光标所在文件*

is

切换至光标所在处(单词所指)文件的配对文件(如光标所在处为foo.h,则切换至foo.c/foo.cpp…)

ihn

在多个匹配文件间循环切换


taglist

Key

Action

ctrl+]

查找当前光标所在处tag的定义(ctags支持)

ctrl+t

返回到之前执行查找tag时的位置

o

在一个新打开的窗口中显示光标下tag

Space

显示光标下tag的原型定义

x

taglist窗口放大和缩小,方便查看较长的tag

q

关闭taglist窗口


nerdtree

Key

Action

o

在已有窗口中打开文件、目录或书签,并跳到该窗口

go

在已有窗口 中打开文件、目录或书签,但不跳到该窗口

x

合拢选中结点的父目录

J

跳到当前目录下同级的最后一个结点

I

切换是否显示隐藏文件

m

 显示系统菜单

C

设置当前目录为root

u

返回到当前root的上级父目录并设置为root

q

关闭NerdTree窗口


搜狗输入法

shift +space切换全角半角

Evernote,你的工作空间。下载Evernote

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值