Vim 命令 (转)
上图引用自何处忘记了,不好意思。
基础快捷键
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 命令 (转)的更多相关文章
- Linux vim命令
介绍 vim命令和vi的操作基本一致,vim命令的参数很多,我在这里列出了一些平时需要用的一些参数,vim主要有两个界面一个是esc的操作界面还有一个是输入i的编辑界面. 移动光标 0 (零):将光标 ...
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...
- 学习vim命令:“:w !sudo tee %”
学习vim命令:“:w !sudo tee %” Original URL:http://www.haw-haw.org/node/1501 原文来自于commandlinefu 原文是这样解释这个命 ...
- [转]常用的130个vim命令
原帖地址:http://www.oschina.net/news/43167/130-essential-vim-commands 从 1970 年开始,vi 和 vim 就成为了程序员最喜爱的文本编 ...
- 15个不起眼但非常强大的 Vim 命令
如果我的关于这个话题的最新帖子没有提醒到你的话,那我明确地说,我是一个 vim 的粉丝.所以在你们中的某些人向我扔石头之前,我先向你们展示一系列“鲜为人知的 Vim 命令”.我的意思是,一些你可能以前 ...
- [转载]VIM命令合集
Vim命令合集 http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 命令历史 以:和/开头的命令都有历史纪录, ...
- Vim命令快捷键(网摘)
Vim命令快捷键(网摘) 原文出处:[?---->home]
- Vim 命令图解-Gvim使用笔记-2017-5-9
Vim 命令图解-Gvim使用笔记... 图片要是看的不太清楚推荐使用:鼠标右键在新标签中打开或是全屏看图 Vim中常用的一些速查命令: Vim发展历史:1976年Bill Joy开发了vi1988 ...
- Vim 命令图解-Gvim使用笔记
Vim 命令图解-Gvim使用笔记... 参考的网址:http://blog.vgod.tw/wp-content/uploads/2014/08/vgod-vim-cheat-sheet-full. ...
- 超级有用的Vim命令
你是否曾经烦恼,每次编辑vim文件,想要跳到一行结尾,需要按多次右键,每次想找到某个字符的位置,都得用肉眼去观察,每次想跳到文件结尾,都要按多次向下键.现在,你不必担心这些繁杂的过程,因为我们完全可以 ...
随机推荐
- Java多态(一)
父类: public class Parent { public String name; private String pass; public void say1(AA aa){ System.o ...
- mongodb分片认证
启动configsvr 1. 确保mongdb的configsvr是采用service模式启动的,即从/etc/init.d下的脚本启动的,其用户是mongod. 2. 确保mongod的配置文件完全 ...
- 实现jsp页面显示用户登录信息,利用session保存。
这是后台代码 这是jsp代码,上面是声明,下面是获得值.
- F(k)<(维护+枚举)\(找规律+递推+枚举)>
题意 小明有一个不降序列(f(1),f(2),f(3),--),f(k)代表在这个序列中大小是k的有f(k)个.我们规定f(n)的前12项如下图. n 1 2 3 4 5 6 7 8 9 10 11 ...
- CDockablePane使用总结
基于 http://blog.csdn.net/kikaylee/article/details/8936953 CDockablePane的基本布局和用法 新建一个SDI工程,在CMainFrame ...
- k-Means和KNN算法简述
k-means 算法 k-means 算法接受输入量 k :然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高:而不同聚类中的对象相似度较小.聚类相似度是利用各聚类 ...
- 【转】使用gulp 进行ES6开发
原谅地址:https://segmentfault.com/a/1190000004394726 一说起ES6,总会顺带看到webpack.babel.browserify还有一些认都不认识的blab ...
- table固定宽度高度, 及overflow省略号
整体设置标签为:td {text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } table fix设置 <table ...
- CSS样式覆盖规则
有一下问题, 想让下面的border生效 ,#比. 优先级高, #navigator { height: 100%; width: 200; position: absolute; left: 0; ...
- JSON数据传递
Servlet端代码 try { while (rs.next()) { for(int i=0;i<60;i++){ Day[i]+=rs.getInt("Day"+(i+ ...