Vim

常用的Vim功能

三种模式

  1. Normal模式
  2. Insert模式
  3. Visual模式
模式直接的切换

退出编辑模式:

Esc键
Shift键 + : 键 

w :保存文件但不退出
w file :将修改另外保存到file中,不退出
w! :强制保存,不推出
wq :保存文件并退出
wq! :强制保存文件,并退出
q :不保存文件,退出vi
q! :不保存文件,强制退出vi
e! :放弃所有修改,从上次保存文件开始再编辑

三种模式下的常见命令

1. Normal模式
  • 1、
  • 2、

摘要 : Vim是一个很好的编辑器,但是由于快捷键多、难以一次记全,常常另初学者感觉无从下手。
下面整理了一个《常用vim - source Insight快捷键对照表》,不求大而全,只求覆盖最简单最常用的几十条命令,只要你会用source Insight,完全可以在10分钟内对着这张表无缝切换到vim。初学者只需掌握表中加粗的26个重要命令,即可在vim中看代码写代码。

vim环境配置 : 参考《手把手教你把Vim改装成一个IDE编程环境Ver.0.7.pdf》

一、如何添加tags
步骤1:在代码根目录进入vim .
步骤2:先按F4,回车。(指定根目录)
步骤3:按F3,然后输入某个要添加的仓的路径
步骤4:回车(确定)
步骤5:F4(更新tags)
步骤6:以后修改了代码,就只使用F4更新就可以了。

二、快捷键对照表

vim快捷键(注意区分大小写) 说明 SI对应快捷键
第一层级 -- 存活
上下左右移动光标 k、j、h、l (移动鼠标即可)
打开“文件目录” F7 Ctrl+o
打开“symbol列表” F8 Alt+F8
将光标在各个窗口中跳转 Ctrl + w + w 其他方式:Ctrl + w + l 向右跳转, Ctrl + w + h 向左跳转,Ctrl + w + k 向上跳转,Ctrl + w + j 向下跳转
查找文件 空格 + p +(输入你想查找的文件名) 在“文件目录”中查找
打开最近文件 空格 + m 按q退出该窗口 菜单栏选择“window”,在下拉菜单中选择
打开当前文件所在目录 , + n + f(手速要快)
当前位置插入一个字符 i
当前位置后面插入一个字符 a
在下方插入一行 o
在上方插入一行 Shift + o Ctrl + i
删除一个字符 x
剪切 d Ctrl + x
剪切一整行/删除一整行 dd Ctrl + u
复制 y Ctrl + c
复制一整行 yy Ctrl + k
粘贴 p Ctrl + v
撤销 u Ctrl + z
反撤销 Ctrl + r Ctrl + y
选中当前行 Shift + v
退出当前窗口 :q
保存退出 :wq 或Shift + z + z
不保存退出 :q!
退出全部窗口 :qa
第二层级 - 能写代码
查找(并高亮下划线) / + 输入你想查的字符 + Enter 查找之后,可以按n或N向下/上寻找第二、第三次出现该单词的地方 Ctrl + f
取消高亮 :nohl
向上查找当前单词 #(相当于Shift + 3) F3
向下查找当前单词 *(相当于Shift + 8) F4
转到定义 Ctrl + ] 鼠标左键单击,或F7
后退 Ctrl + o Alt + .
前进 Ctrl + i Alt + ,
按块编辑(选中某一段文字) v +(移动光标) 按v,会进入visual模式,可以按块进行编辑->ydp
注释选中代码 backspace 如果注释多行,可以先按下行数,再按Backspace Shift + Alt + m
格式化代码 = 按v,进入visual模式,然后选择块,再格式化
高亮一个单词 mm Shift + F8
取消全部高亮 mn
查找symbol符号(函数名、枚举、宏)出现的地方 在当前单词处按下Ctrl + \ + e ;(或 :cs f e + 要查找的symbol) Ctrl + \ + e 的意思是先按ctrl+\,然后再按下e键 Ctrl + /
开启/关闭刚才的查找窗口 ,,
查找func都被谁调用 在当前单词处按下Ctrl + \ + c;(或:cs f c + 要查找的函数)
至此,在vim里干活已经不存在障碍
第三层级 -- 感觉良好
按单词向后跳转 w e也可以实现类似效果。和w相比,e是移动到该单词尾,w是移动到下一单词头
按单词向前跳转 b
跳转到当前行某个字母 f + (要跳转的字母),然后按; 可以跳到下一处出现该字母的地方
移动到句尾 $(也就是Shift + 4)
移动到句头 ^(也就是Shift + 6)
移动到行头 0
到上一行非空行头 -
从当前位置向上移动xxx行 空格 + k + (输入要跳转的行上高亮的字母)
从当前位置向下移动xxx行 空格 + j + (输入要跳转的行上高亮的字母)
替换当前单词 cw + (输入替换后的字符)+ESC
跳转到xxx行(xxx是行号) 行号 + G(注意G大写,相当于“行号 + Shift + g”) 例如:1314G →跳到第1314行 Ctrl + g
锁屏 Ctrl + s 如果突然发现vim卡住了,可以看看是不是按了Ctrl + S锁屏了
解锁 Ctrl + q
临时关闭vim界面 Ctrl + z
回到刚才的vim界面 fg
往下半个屏幕 Ctrl + d
往上半个屏幕 Ctrl + u
往下一个屏幕 Ctrl + f (Page Down)
往上一个屏幕 Ctrl + b (Page up)
跳转到文件头 gg
跳转到文件尾 G Ctrl + End
移动光标到屏幕的首行. H
移动光标到屏幕的中间一行. M
移动光标到屏幕的尾行. L
使用z重新定位屏幕命令:把当前行移动到屏幕顶部 z + 回车
把当前行移动到屏幕中央,不用回车,切记 z.(或者zz)
把当前行移动到屏幕底部,同上,不用回车 z-
移动第100行到屏幕的顶部,记得键入100z之后要再回车 100z + 回车
跳到 上一次编辑的地方 g;
跳到 下一次编辑的地方 g,
自动补全 Ctrl + n Ctrl + e
匹配左括号 : % Ctrl + Shift + ]
匹配右括号 : % Ctrl + Shift + [
行首插入 shift + i
行尾插入 Shift + a
向右/左缩进 < 或 > tab 或 shift + tab
全部变成大写 gU
全部变成小写 gu
左侧NERD_TREE回上级目录 NerdTree 界面按 x
可以直接以当前目录来显示为根目录 NerdTree 界面按 <Shift+c>
以空行为单位移动到上一个空行区域 }
以空行为单位移动到下一个空行区域 {
竖屏分割 :vs (vertical split缩写)
横屏分割 :sp (split缩写)
第四层级 -- 组合用法示例 - 按块操作
1. 去除一行前的空格,并按块操作 Ctrl + v
jjj(添加多少行就输入几个j)
^
h
x
ESC
2. 在一行前插入某个字符,并按块操作 Ctrl + v
jjj(添加多少行就输入几个j)
I
(写入要写的东西,如“virtual”)
ESC
3. 在一行末尾插入某个字符,并按块操作 Ctrl + v
jjj(添加多少行就输入几个j)
$
A
(写入要写的东西,如“end”)
ESC
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容

  • macvim配置 最终效果如下: 系统环境 macos10.12.4 homebrew1.2.1 python3....
    Like_eb56阅读 69,278评论 5 65
  • 一、前言 环境: ubuntu16.04 vim7.4 python3.5 最终效果预览 如果想充分地利用好本文,...
    MiracleJQ阅读 4,476评论 0 11
  • 这篇文章是手册的中文译版整理而来(英文看着太慢了,感谢前人铺路Orz...),vim的markdown插件和实时预...
    Himryang阅读 6,923评论 0 20
  • vim在开发中十分高效,但是vim的默认的样式却很不友好,接下来我们将一下如何美化和配置vim,本文是基于MacO...
    troublemak_19be阅读 6,293评论 1 17
  • 曾经在思科的工厂测试系统`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超过2年半,现在...
    戈多在地狱阅读 1,785评论 1 13