上图引用自何处忘记了,很差意思。linux
normal模式下 快速查找git
fa → 到下一个为a的字符处,你也能够fs到下一个为s的字符。
github
t, → 到逗号前的第一个字符。逗号能够变成其它字符。
3fa → 在当前行查找第三个出现的a。
F 和 T → 和 f 和 t 同样,只不过是相反方向。
区域选择 a 或 i"]}) action能够是任何的命令,如 d (删除), y (拷贝), v (能够视模式选择)。 object 多是: w 一个单词, W 一个以空格为分隔的单词, s 一个句字, p 一个段落。也能够是一个特别的字符:"、 '、 )、 }、 ]。vim
di" 删除""内的内容,前提光标在"" 中 yi( 光标在()之间,则复制()之间的内容 dtx 删除字符直到碰见光标以后的第一个x字符 ytx 复制字符直到碰见光标以后的第一个x字符]) ci" (由 change operator 和 text-object i" 组成) 删除"" 中内容并进入插入模式
假设你有一个字符串 (map (+) ("foo")).而光标键在第一个 o 的位置'code
vi" → 会选择 foo. va" → 会选择 "foo". vi) → 会选择 "foo". va) → 会选择("foo"). v2i) → 会选择 map (+) ("foo") v2a) → 会选择 (map (+) ("foo"))
v/y/d/c -> i/a -> { [ ( " 'orm
0y$ 复制整行 gg2x 删开头量字符
在全部被选择的行后加上点东西:blog
<C-v> 选中相关的行 (可以使用 j 或 <C-d> 或是 /pattern 或是 % 等……) $ 到行最后 A, 输入字符串,按 ESC。
标记ci
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 ,/ 去除匹配高亮