上图引用自何处忘记了,不好意思。

基础快捷键

normal模式下 快速查找

fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。
    t, → 到逗号前的第一个字符。逗号可以变成其它字符。
    3fa → 在当前行查找第三个出现的a。
    F 和 T → 和 f 和 t 一样,只不过是相反方向。

区域选择 a 或 i"]}) action可以是任何的命令,如 d (删除), y (拷贝), v (可以视模式选择)。 object 可能是: w 一个单词, W 一个以空格为分隔的单词, s 一个句字, p 一个段落。也可以是一个特别的字符:"、 '、 )、 }、 ]。

di" 删除""内的内容,前提光标在"" 中
yi( 光标在()之间,则复制()之间的内容
dtx 删除字符直到遇见光标之后的第一个x字符
ytx 复制字符直到遇见光标之后的第一个x字符])
ci" (由 change operator 和 text-object i" 组成) 删除"" 中内容并进入插入模式

假设你有一个字符串 (map (+) ("foo")).而光标键在第一个 o 的位置'

vi" → 会选择 foo.
va" → 会选择 "foo".
vi) → 会选择 "foo".
va) → 会选择("foo").
v2i) → 会选择 map (+) ("foo")
v2a) → 会选择 (map (+) ("foo"))

v/y/d/c -> i/a -> { [ ( " '

0y$ 复制整行
gg2x 删开头量字符

在所有被选择的行后加上点东西:

<C-v>
选中相关的行 (可使用 j 或 <C-d> 或是 /pattern 或是 % 等……)
$ 到行最后
A, 输入字符串,按 ESC。

标记

ma 将当前位置标记为a,26个字母均可做标记,mb、mc等等;
'a 跳转到a标记的位置; - 这是一组很好的文档内标记方法,在文档中跳跃编辑时很有用;

其他

gU/gu 整行大写/小写
cw → 替换从光标所在位置后到一个单词结尾的字符
g_ → 到本行最后一个不是blank字符的位置。
对于数字 ctrl+a 递增增加 ctrl+x 递减
<C-r> → redo
% : 匹配括号移动,包括 (, {, [
* 和 #: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)
{ 上一段(以空白行分隔) - } 下一段(以空白行分隔)
gd 跳到光标所在位置词(word)的定义位置 g(o)d(efine)

命令模式下

m,nd - 快速删除第m到第n行 (delete)
m,ny - 复制第m到第n行 (yank)
m,nmt - 第m行到第n行剪切到第t行(move)
m,ncot -第m行到第n行复制到第t行(copy to)
<< 左缩进 >>右缩进
● :bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(陈皓注:我喜欢使用:n到下一个文件)

插入模式下

Ctrl-t增加缩进
Ctrl-d减小缩进。

visual mode

V + j/k  选中多行  -> y/d/x 赋值删除
Vap 选中一个段落
Vaw 单词 -> Va2w
Vas 选中一个句子

宏操作

ma 将当前位置标记为a,26个字母均可做标记,mb、mc等等;
'a 跳转到a标记的位置; - 这是一组很好的文档内标记方法,在文档中跳跃编辑时很有用;
qa 将之后的所有键盘操作录制下来,直到再次在命令模式按下q,并存储在a中;
@a 执行刚刚记录在a里面的键盘操作;
@@ 执行上一次的macro操作;'

扩展快捷键

F1   关掉,防止跳出帮助
F2 set nu/nonu
F3 set list/nolist
F4 set wrap/nowrap
F5 set paste/nopaste
F6 syntax on/off
空格 /开启查找
Y =y$ 复制到行尾
w!! 以sudo的权限保存
kj <Esc>,不用到角落去按esc了
t 新起一行,下面,不进入插入模式
T 新起一行,上面
,a 全选
hjkl 上下左右,强迫使用,要解开的自己改
ctrl + jkhl 进行上下左右窗口跳转,不需要ctrl+w+jkhl ,tn new tab
,tc tab close
,to tab only
,tm tab move
,te new tab edit
ctrl+n 相对行号绝对行号变换,默认用相对行号 http://jeffkreeftmeijer.com/2012/relative-line-numbers-in-vim-for-super-fast-movement/ 5j/5k 在相对行号模式下,往上移动5行 往下移动5行,不喜欢注解line 142附近relativenumber配置 ,y 展示历史剪贴板
,yc 清空
yy/dd -> p -> ctrl+p可以替换非最近一次剪贴内容 ,p 开启文件搜索 ctrlp
,/ 去除匹配高亮

Vim 命令 (转)的更多相关文章

  1. Linux vim命令

    介绍 vim命令和vi的操作基本一致,vim命令的参数很多,我在这里列出了一些平时需要用的一些参数,vim主要有两个界面一个是esc的操作界面还有一个是输入i的编辑界面. 移动光标 0 (零):将光标 ...

  2. 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类

    今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...

  3. 学习vim命令:“:w !sudo tee %”

    学习vim命令:“:w !sudo tee %” Original URL:http://www.haw-haw.org/node/1501 原文来自于commandlinefu 原文是这样解释这个命 ...

  4. [转]常用的130个vim命令

    原帖地址:http://www.oschina.net/news/43167/130-essential-vim-commands 从 1970 年开始,vi 和 vim 就成为了程序员最喜爱的文本编 ...

  5. 15个不起眼但非常强大的 Vim 命令

    如果我的关于这个话题的最新帖子没有提醒到你的话,那我明确地说,我是一个 vim 的粉丝.所以在你们中的某些人向我扔石头之前,我先向你们展示一系列“鲜为人知的 Vim 命令”.我的意思是,一些你可能以前 ...

  6. [转载]VIM命令合集

    Vim命令合集 http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 命令历史 以:和/开头的命令都有历史纪录, ...

  7. Vim命令快捷键(网摘)

    Vim命令快捷键(网摘) 原文出处:[?---->home]

  8. Vim 命令图解-Gvim使用笔记-2017-5-9

    Vim 命令图解-Gvim使用笔记... 图片要是看的不太清楚推荐使用:鼠标右键在新标签中打开或是全屏看图 Vim中常用的一些速查命令: Vim发展历史:1976年Bill Joy开发了vi1988 ...

  9. Vim 命令图解-Gvim使用笔记

    Vim 命令图解-Gvim使用笔记... 参考的网址:http://blog.vgod.tw/wp-content/uploads/2014/08/vgod-vim-cheat-sheet-full. ...

  10. 超级有用的Vim命令

    你是否曾经烦恼,每次编辑vim文件,想要跳到一行结尾,需要按多次右键,每次想找到某个字符的位置,都得用肉眼去观察,每次想跳到文件结尾,都要按多次向下键.现在,你不必担心这些繁杂的过程,因为我们完全可以 ...

随机推荐

  1. 用 js 做 URL 跳转带来的 Referer 丢失问题.

    http 302 重定向是可以保持 referer 的.例:在 A 页面上提交登录表单到 B,B 返回一个重定向页面到 C,在 C 处理里面检查 Referer 可知道它的来源是 A 而不是 B. 但 ...

  2. [code]判断周期串

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include<stdio.h> #include<string.h> ...

  3. textFiled输入字数的控制问题之—把带输入的拼音也判断了

    一个textFiled,控制只能输入五个字,现在你已经输入了四个字,在输入第五个字的时候,输入一个拼音之后就不能输入后一个拼音,这里把拼音也当成字来判断了,这种情况下就需要_textFiled.mar ...

  4. skia入门

    SkBitmap bmp; bmp.setConfig(SkBitmap::kARGB_8888_Config, rect.Width(), rect.Height()); bmp.allocPixe ...

  5. 灵感闪现 篇 (一) 2d场景 3d 效果

    中途打断一下 ,框架文档的 更新. 另开一篇主题为 灵感闪现的 板块. 在工作生活中,总有发现新事物或新东西 而让自己突然 灵感闪现的时候,那么这个时候,我必须要抓住,并尽快把 这份灵感实现下来. 之 ...

  6. 深入Java单例模式

    在GoF的23种设计模式中,单例模式是比较简单的一种.然而,有时候越是简单的东西越容易出现问题.下面就单例设计模式详细的探讨一下.  所谓单例模式,简单来说,就是在整个应用中保证只有一个类的实例存在. ...

  7. HDU 2489 Minimal Ratio Tree (DFS枚举+最小生成树Prim)

    Minimal Ratio Tree Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) ...

  8. java 接口的回调

    Example6_3.java interface ShowMessage { void 显示商标(String s); } class TV implements ShowMessage { pub ...

  9. UVALive 2523 Machine Schedule(二分图求最大匹配数)

    题意:有两台机器,上面有多个工作区域,有多个任务,分别可以在两台机器的某一个区域上完成,两台机器一开始都在0区域上工作,每次更改区域,都会重新启动一次,让我们求出最小的重启次数. 思路:将两个区域连线 ...

  10. 一个设置 material design icon的插件工具

    一个设置 material design icon的插件工具 github地址:https://github.com/konifar/android-material-design-icon-gene ...