vim的使用

1.快速打开导航栏
在一般模式下,按下,T

2.移动光标
在一般模式下,按下下面的键:

  • 上:K
  • 下:J
  • 左:H
  • 右:L

3.移动光标至上一个单词/下一个单词
一般模式下,按下下面的键

  • 上一个单词:B
  • 下一个单词:W

4.向上一屏/向下一屏
用途:用来将一个文件中的内容分屏显示
一般模式下,按下下面的键:

  • 向上一屏:control+F
  • 向下一屏:control+B

5.选中多行内容
一般模式下,按下下面的键:
shift+V选中一行内容,并结合J,K键进行上下的移动,从而选择需要的选中的内容;
按下esc则退出选中

6.选中指定的内容
一般模式下,按下下面的键:
v开始选中,然后结合H,L键进行一个字母宽度的光标的左右移动,或者结合W,B键进行一个单词宽度的光标的左右移动,也可以结合J,K进行上下行的光标移动,从而进行内容的选中;
按下esc则退出选中

7.复制粘贴
一般模式下,按下面的键:
按照上述的5或6的方式选中内容后,按下Y键进行复制,再按下P键进行一次粘贴
如果想要粘贴多次,可以按下数字键+P键,例如2P就是粘贴两次

8.撤销修改
一般模式下,按下面的键:
撤销:U

9.搜索文本
一般模式下,先按下/键进入底线命令模式:
然后输入要搜索的文本名,并按下enter键
例如:/hello则会搜索相应的带有hello的文本,此时按下enter键,会跳转至第一个带有hello的文本处,再按下N键就可以跳转到下一个带有hello的文本处;按下shift+N就可以跳转到上一个hello的文本处

10.打开/关闭历史文件
一般模式下,按下下面的键:

  • 查看历史文件: control+E
    结合J,K键可以上下选择历史文件,按下enter键即可进入选中的历史文件中
  • 关闭历史文件:按下q或者:q可以退出历史文件列表

11.跳转到当前行的行首/行尾
一般模式下,按下下面的键:
跳转到行尾: shift+4
跳转到行首:0

12.快速跳到文件的首行/尾行
一般模式下,按下下面的键:
跳转到首行:GG
跳转到尾行:shift+G

13..快速跳到上一次 / 下一次编辑的地方
一般模式下,按下下面的键:
跳转到上一次编辑的地方:G;
跳转到下一次编辑的地方:G,

14.输入模式
从一般模式切换到编辑模式,有以下几种方法:

  • 在光标前输入:一般模式下按下I
  • 在光标后输入:一般模式下按下A(意思是append/after)
  • 在光标的下一行开始输入: O(注意不是零)
  • 在行首增加内容:一般模式下按下shift+I
  • 在行末增加内容:一般模式下按下shift+A
  • 在光标上行增加内容:一般模式下按下shift+O (注意:这个操作往往会有500毫秒的延迟)

15.删除
以下删除都以当前光标作为起始位置
在一般模式下,按下下面的键:

  • 删除一个字母:X
  • 删除一个单词:DW
  • 删掉一行:DD
  • 删掉多行:shift+V, 然后按X或者 D
  • 删除指定的内容:参考6,然后按下X或者D

注意:
vim认为删除就是剪切,所有被删掉的内容,都会被放到复制缓冲区中)后,就可以粘贴了。
因此X键和D键都是剪切的功能,当按下P键时可以发现粘贴了用XD删除的内容

16.复制一个单词/当前行 并粘贴
一般模式下,按下下面的键:

  • 复制一个单词:YW
  • 复制当前行:YY
  • 粘贴:P

17.查看剪切板中的历史复制文件
一般模式下,按下下面的键:

  • 查看剪切板:,A
  • 选择历史文件:JK来上下选择文件
  • 关闭剪切板:q:q

18.分屏
从一般模式切换到底线命令模式,按下下面的键:

  • 竖屏分割屏幕::VS(每按下一次VS就会分割一个屏幕)
  • 横屏分割屏幕::SP
  • 保存并退出当前屏幕:wq
  • 不保存并退出当前屏幕:q!
  • 退出全部屏幕:qa

19.切换窗口
一般模式下,按下下面的键:

  • 跳到下一个小窗口:control+WW
  • 跳到某个方向的小窗口:control+W然后结合J,K,H,L选择要跳转到的窗口

20.注释
一般模式下,按下下面的键:

  • 选中内容:shift+V,并组合J,K键进行内容的选中
  • 注释:,CB

21.代码格式化
一般模式下,按下下面的键:

  • 选中内容:shift+V,并组合J,K键进行内容的选中
  • 格式化:=
    这样就可以将代码进行对齐
    注意:不是100%好用。 因为有的代码本身就是不完整的
    例如html文件中双标签少写了一个,可能就无法对齐

22.自动补全
进入编辑模式,按下下面的键:

  • 自动补全:control+N
  • 取消补全:自动补全后再次按下control+N
    例如:
    先在编辑模式下打了一个befor,此时按下control+N就会自动补全为before_action

23.快速跳到当前光标所属文件
用途:
在 Rails的路由或者视图文件中使用

  • 在 View 中, 快速跳到一个 partial文件
  • 在 config/routes.rb中通过resources跳到controller文件

在一般模式下,按下下面的键:
快速跳到当前光标所属文件:GF
意思就是go to file

24.显示/隐藏行数
用途:

  • 在复制代码的时候,我们有时候不想复制前面的行数序号,那么可以将其隐藏
  • 当想要看代码的行数时,也可以将其显示出来

一般模式下,按下下面的键:

  • 显示行数::set number
  • 取消显示行数::set no number

25.折叠/取消折叠过长的行
一般模式下,按下下面的键:

  • 折叠::set wrap
  • 取消折叠::set nowrap

26.删除当前行并进入输入模式
一般模式下,按下shift + c
即可立即清除当前行,并可以直接输入文字

27.展开当前文件夹下的所有文件
一般模式下,选择相应的文件夹,按下shift + O
即可展开当前文件夹下的所有文件(子文件夹也会全部展开)
如果是不展开子文件夹,那么使用O而不是shift + O

28.字母大小写的切换
一般模式下,选中字母,按下shift + ~
即可将选中的大写字母切换成小写,或将小写字母切换成大写

29.进入目录
一般模式下,选中相应的文件夹,按下T

30.替换
一般模式下,选中文件中相应的内容,按下shift + :
这里举个例子:

...
<%= yield %>
...

我想把yield替换成yes,那么操作如下:
(1)选中yield
(2)输入:s/yield/yes
即可将yield替换成yes

注意:
对于一些特殊符号,如英文的/.等,我们还需要使用转义符号\
例如,我们如果将yield转换成/yield那么第(2)步要写成:
:s/yield/\/yield
如果再想从/yield转回yield,那么要写成:
:s/\/yield/yield

31.注释后台代码
选中代码后,按下, + C + B

32.去掉注释
选中代码后,有两种方式:
方案1:
(1)输入:s,#
方案2:
(1)输入:s/#/
注意:
方案2中第二个/后面跟一个空格,代表将#替换成空格

32.行间跳转
一般模式下,按下数字键 + J/K
例如从当前位置向上跳转9行,输入9 + K
从当前位置向下跳转7行,输入7 + J

33.将光标所在的行置于页面中间,方便阅读
一般模式下,按下zz

34.将光标所在的行置于页面最顶端,方便阅读段落,代码等
一般模式下,按下zt

35.将光标所在的数字进行加1和减1操作,支持负数
一般模式下:
按下ctrl + a可以对数字进行加1
按下ctrl + x可以对数字进行减1

36.删除某个字符后的所有内容
一般模式下:
光标移动到某个字符后,按下shift + c

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • Vim几句话介绍Vim是Unix系统上的文本编辑软件(你该不会不知道什么是文本编辑软件吧!),在windows上也...
    何必遠方阅读 3,121评论 0 3
  • 搜索 Eclipse常用快捷键 编辑 查看 窗口 导航 文本编辑 文件 项目 源代码 运行 重构 其他Eclips...
    CarlosLynn阅读 1,595评论 0 6
  • Linux是一种自由和开放源代码的类UNIX操作系统。目前运用领域最广泛、使用人数最多的操作系统,下面介绍一下Li...
    刘圣凯阅读 391评论 0 0
  • vi/vim 的使用 基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),插入模式(...
    kpyue阅读 321评论 0 1
  • 不在医院呆上几个月,不能理解生命的脆弱,五分钟前看到一位十六岁的女孩四肢抽搐口吐白沫………昨天,她还有说有笑…
    风拂城角a阅读 223评论 0 2