http://blog.csdn.net/bigshady/article/details/6019963

  • 对括号匹配, 进行跳转, 使用的是%. 匹配的括号, 都会被高亮显示, 但是: 根据光标的 "闪烁" 来区分当前 光标实际所在的位置!

我觉得, linux中, 如vim程序, 它的 一些命令(单字命令 满有意思 的, vim的命令, 并不是一些 完全没有 规律的 字母组合, 是有特定 含义的 甚至是很有趣的 一些符号和命令 的组合, 比如: 要记住 为什么括号间的跳转是%? 其实 这个 % 是满形象, 生动的: 在一个括号中, 从 "开头...包含内容...到结尾 " 这样的意思, 用什么符号来表达比较好: 用% : 上面的那个0表示 括号的开头, 下面的那个o表示 括号的结束, 中间的斜线 表示 括号开头和结尾 之间 的内容 分隔.... 所以 这个 % 是一种 象形 的表示! 不知道 bram 布拉姆跟我想的是不是一样的了?

  • 而对括号本身的命令是: {和}是对段落进行跳转开头/结尾, (和)是针对一个句子的开头/结尾. [[和]]则是对函数的跳转开头和结尾

  • 还可以对位置 (只是针对行, 在行中的任意位置处标记, 跳转都是到 这一行 的"开头")进行标记, 先标记位置: m a-z, 然后使用标记: '标记: 跳到前面标记的位置处, ''两个但引号, 跳回到原来的位置... 注意 标记 和跳转的 的时候 , 是在 "normal" 状态下进行的!!

其实 ,''两个单引号, 不只是对位置标记 起作用, 它其实是在当前位置和 上一位置 之间进行交替跳变 的 一个 通用操作.. 那么这个是不是比word中的 操作跟 方便呢??

http://www.linuxsong.org/2010/09/vim-quick-select-copy-delete/

  • 这个表示 , 上下左右这些 移动键 的操作, 也可以用 尖括号来表示: 如 <left>, right>, up> down>

在markdown中, 如何来表示尖括号呢? 你不能用code标签内 的写法, 因为即使是code, 在遇到尖括号的时候, 一样会解析成特殊代码, 而不是 literal 字面字符串. 有两种解决方案: 一是: 用markdown的行内的 两个反引号的方式: <left> <right>. 二是: 使用html entity: 用&加lt加分号的方法, gt的方式来表示: < left >

http://colder.blog.163.com/blog/static/17394661820124201611732/

一般vim的命令, 是在normal方式下执行的, 因为, 如果在insert方式下, 你输入 "所谓的命令字符串" , 会直接的被显示在文章 中了, 而不是作为命令来parse了

关于单引号, 双引号, 括号(大中小/ 尖括号)在noraml状态下的操作规律:

  • 这个操作命令由三个部分组成 : 操作类型(选择/删除/修改等) + i/a + 符号
  • i/a: 对符号内的内容进行操作, 使用i, 对包括符号在内的 内容进行操作 使用a
  • 操作类型包括: c表示修改, d表示删除, y表示复制yank, v(visual选择模式)表示选择

因此 , 举例来说, di{ 就表示删除大括号中的内容!

c和d的区别: d表示删除 但删除后仍然处于 normal状态, 而cc: 表示删除行同时 还会转换为 insert 状态!! c: change!

其实, 关于括号的操作也是很好理解的了: 跟其他普通的: 删除单词, 替换字母等的操作 是类似的了! dw是删除后面的一个单词, d2w, c3w, 4yy等, 举例: di{, da(, 意思也很明显: d是动词, {, ( , [, 表示对象, 表示 前面的动作 要操作的对像, 中间的i, a 类似于 d2w, c3w中的2,和3. 表示范围: 因此di{: delete inner {: ~= d2w: delete 2 word. 表示 删除 内部 { 中的内容....

ya(: yank all (: 复制全部(括号中的内容...

======================================== ==

vim关于 引号和 括号的 高效操作-很好很强大的!的更多相关文章

  1. node.js高效操作mongodb

    node.js高效操作mongodb Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为Jav ...

  2. 【vim】插入模式与常用编辑操作

    vim不像很多编辑器那样一启动便可以直接编辑文本,需要在普通模式按下i, a等键才会进入插入模式进行文本编辑. 如何进入插入模式 以下的命令都会让vim从普通模式切换到插入模式,但命令执行后的字符插入 ...

  3. [Swift通天遁地]七、数据与安全-(5)高效操作SQLite数据库

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  4. 在Python中使用lambda高效操作列表的教程

    在Python中使用lambda高效操作列表的教程 这篇文章主要介绍了在Python中使用lambda高效操作列表的教程,结合了包括map.filter.reduce.sorted等函数,需要的朋友可 ...

  5. include 语句中使用双引号与括号有什么区别?

    Include 的语法 你在学习如何构造函数时,看到了不同的 include 语句: # include <iostream> # include "distance.h&quo ...

  6. LINUX - vim高效操作

    (一)可以为操作的一行添加下划线 set cursorline

  7. 【vim】正常模式下的一般操作

    正常模式一般用于浏览文本,其实也就是通过键盘命令让光标在文本中跳来跳去,在任何模式下按一次或两次<Esc>会进入正常模式. 基本思想 vim对光标的定位操作非常精确和高效,这是它的一个非常 ...

  8. [转] vi/vim命令模式和编辑模式各种操作

    摘要:vi 编辑器是最常用的文档创建和编辑工具,初学者应该学会简单应用vi ,学会在vi 中做简单的修改.删除.插入.搜索及替换作业:如果您是新手,不妨看看本文,或许这篇文档能让您在最短的时间内学会v ...

  9. shell编程 之 引号、括号的用法总结

    1 单引号 a=1 b='a string' 单引号屏蔽各种特殊字符.echo ‘$a " % \n ' 只能得到 $a " % \n 单引号可以指明界限,防止由分隔符----空格 ...

随机推荐

  1. AS技巧合集「编码技巧篇」

    转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=254725&extra=page%3D2%26filter%3Dautho ...

  2. [bzoj1787][Ahoi2008]紧急集合

    Description 给定一棵大小为的树,有组询问,每组询问给三个点,求到这三个点距离和最小的点及最小距离和. Input 第一行两个数. 接下来行,每行两个数表示到有一条边. 最后行,每行个数,为 ...

  3. BZOJ 1064 假面舞会(NOI2008) DFS判环

    此题,回想Sunshinezff学长给我们出的模拟题,原题啊有木有!!此处吐槽Sunshinezff爷出题不人道!! 不过也感谢Sunshinezff学长的帮助,我才能做出来.. 1064: [Noi ...

  4. 【uoj261】 NOIP2016—天天爱跑步

    http://uoj.ac/problem/261 (题目链接) 题意 给出一棵树,给出一些起点和终点,没走一条路径耗费时间1,每个节点上有一个权值w,问有多少条路径经过这个节点时所用的时间恰好是w. ...

  5. VS提示“项目文件" "已被重命名或已不在解决方案中”的解决办法 .

    多个项目的源码在一个源代码中,其中,有一个源代码废弃不可用了.删除后,再次生成解决方案时出现了问题“项目文件" "已被重命名或已不在解决方案中”. 解决方法是: 1.找到主项目,右 ...

  6. 使用Eval()绑定数据时使用三元运算符

    ASP.NET邦定数据“<%#Eval("Sex")%>”运用三元运算符: <%#(Eval("Sex", "{0}") ...

  7. UVA11624Fire!(BFS)

    题目链接 题意:帮助joe走出一个大火蔓延的迷宫,其中joe每分钟可往上下左右四个方向之一走,所有着火的格子都会蔓延(空格与着火格有公共边,下一分钟这个空格也会着火).迷宫中有一些障碍格,joe和火都 ...

  8. [转发]Linux的系统调用宏

    原来在linux/include/linux/syscalls.h 中定义了如下的宏: 复制代码#define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1 ...

  9. netty 解决TCP粘包与拆包问题(一)

    1.什么是TCP粘包与拆包 首先TCP是一个"流"协议,犹如河中水一样连成一片,没有严格的分界线.当我们在发送数据的时候就会出现多发送与少发送问题,也就是TCP粘包与拆包.得不到我 ...

  10. js007-函数表达式

    js007-函数表达式 本章内容 1.函数表达式的特征 2.使用函数实现递归 3.使用闭包定义私有量 定义函数的方式有两种:一:函数声明,二:函数表达式 函数声明: function function ...