上篇我贴上了我使用的vim配置及插件配置,有这些东西只能是一个脚本堆积,无从谈高效的代码阅读开发。

下面我们就来写经常使用的命令,就从配置F系列快捷键开始吧。

F+ n 快捷键配置

 F1基本上时帮助,这个貌似不能被 Terminal帮助使用了,

 F2显示或者不显示行号,默认情况是显示的,在需要copy的一些操作时候这个是很有用的

 F3换行显示或者不换行显示,在有些如Makefile命令较长的情况可以用它来快速修改其中的东西,默认情况是不换行

 F4呼出文件的函数列表(TagbarToggle)

F5粘贴模式paste_mode开关,用于有格式的代码粘贴,因为我们的vim配置的智能缩进,这个开关能然你在网页上复制的有格式东西不被vim缩进哦

 F6关闭语法可以加快大文件的展示

 F9这个定义了一个函数用gtags解析工程目录,这个跟ctags解析差不多,据说可以制动更新,不过我使用比较少

 F12这个就是集成了ctags, cscope两项功能的函数,只要到你想要生成工程的根目录按F12等待一会后你就能用cscope命令了(这个比较强大)

上述快捷键可以在我上篇中的.vimrc 脚本中更改按照你的习惯F12按键我配置的解析比较全,如果你不需要很全的解析请修改 .vimrc 中的Do_CsTag()配置

不知道如何配置请google, bing, baidu。

在执行F9或者F12后你就可以使用cscope命令来阅读代码了(执行F9的话需要关闭一下在打开就OK了因为我执行F9完成后的自加载有问题)

如果你有能自动加载的配置请留言给我谢谢

操作快捷键配置

1. cscope 命令是如何执行

请在浏览模式下输入shift+: 然后输入 cs f s  跟上你要查找的字符串这个就是在你的解析工程目录下查找你输入的字符串所以文件位置

当然这种方式输入还是有点麻烦我们配置了快捷键:

在代码中光标的移到该串上后

  1. 先按 ctrl+/ 然后  

  2. c: 查找该函数被调用的位置 

  3. d: 查找该函数调用了哪些函数  

  4. e: 查找指定的正规表达式

  5. f: 查找指定的文件  

  6. g: 查找指定标识符的定义位置  

  7. i: 查找该文件在哪些地方被包含  

  8. s: 查找指定标识符的使用位置  

  9. t: 查找指定的文本字符串 

2. 多窗口及切换

先按ctrl + w  然后

w: 变上下两个窗口

v:变左右两个窗户

o:恢复回一个窗口

窗口间切换用ctrl +

h:移到左边

l:移到右边

j:移到下边

k:移到上边

3. 打开过文件间的切换

在浏览模式下输入shift + :   输入 b 5 就会跳到Android.mk这个文件,也可以直接使用Tab按键切换(这个窗口在打开多个文件后出现)

4. 代码行快速移动

浏览模式下 j(下移一行)k(上移一行)h (左移一列)l (右移一列)

shift + h (移到行首) shift + l (移到行尾) gg (移动到文件开始) shift+g (移动到文件最后) shift + f (下翻一屏) shift + b (上翻一屏)

先输入数字 然后 shift + g(直接跳转到该行) w (后移一个字符串) b (前移一个字符串)

5. 拷贝删除

shift + v (选择行) ctrl + v (选择列)  然后输入y(拷贝) d (删除)    yy (行拷贝) dd (行删除) 数字 + yy (多行拷贝) 数字 + dd (多行删除)

6. 查找替换

shift + *  当前字符 串(字符串高亮) n (下一个出现位置 ) shift + n (上一个出现位置)

%s/string1/string2/g  命令模式下将该文中的所有string1 替换问string2

基本上常用功能都列出了下面我们讲讲YouCompleteMe代码自动补全。

如有问题和需要请留言,我会为您解答问题。

扫一扫下方二维码或搜索微信号程序员互动联盟(coder_online)即可关注,我们可以在线交流

vim带你装逼带你飞(二)的更多相关文章

  1. [转载] vim带你装逼带你飞(一)

    前言:逃离windows有很长时间了,特别是当今android盛行的时代,我们没有理由不选择ubuntu作为编译开发android之首选.其实操作系统只是我们使用的一个工具, windows也好lin ...

  2. vim带你装逼带你飞(一)

    前言:逃离windows有很长时间了,特别是当今android盛行的时代,我们没有理由不选择ubuntu作为编译开发android之首选.其实操作系统只是我们使用的一个工具, windows也好lin ...

  3. 软件测试工程师人手必备的一只:TOM猫,可以带你装逼带你飞!

    Hi,你来了? 其实没有猫,为了让你们好好学习,天天向上!我可真的是拼了命了! 写这篇文章的缘由是,近期有同学经常问到一个这样的问题: 老师,tomcat是啥? 老师,Linux是啥? 老师,xshe ...

  4. js一些稀奇古怪的写法-带你装逼带你飞

    //定时器的第三个参数 setInterval(function(str1,str2,num){ alert(str1+str2+num) },1000,'参数1','还可以有很多参数,不同的类型.. ...

  5. 带你装B,带你飞的大数据时代

    我接触过的大数据有: 1.美国棱镜计划 2.前几天新闻报道的,苹果公司窃取用户隐私 3.百度的用户搜素习惯统计分析 4.淘宝的用户购物习惯分析,智能推荐宝贝 5.浏览器的智能标签页 ... 最想了解的 ...

  6. 你会用Python做出装逼的东西吗

    如果我回答:“用Python很牛逼,但不能做出装逼的东西”,那大家来学习“小白的Python入门教程 ”,还有多少意义? 所以,为了让装逼的小船升级为牛逼的巨轮,让大家学完“小白的Python入门教程 ...

  7. 《带你装B,带你飞》pytest修炼之路1- 简介和环境准备

    1. pytest简介 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高.根据pytest的官方网站介 ...

  8. 《带你装B,带你飞》pytest成神之路2- 执行用例规则和pycharm运行的三种姿态

    1. 简介 今天北京下的雪好大好美啊!!!哎呀,忘记拍照片了,自己想象一下吧.言归真传,今天还是开始pytest的学习和修炼,上一篇写完后群里反响各式各样的,几家欢乐几家愁,有的高兴说自己刚好要用到了 ...

  9. 《带你装B,带你飞》pytest修仙之路3 - setup/teardown

    1. 简介 学过unittest的都知道里面用前置和后置setup和teardown非常好用,在每次用例开始前和结束后都去执行一次.当然还有更高级一点的setupClass和teardownClass ...

随机推荐

  1. SUSE linux使用zypper 安装软件-比yum更好用

    1. How to install "wget" command in Linux and how to use multiple : https://www.cyberciti. ...

  2. app后端搜索入门

    现在人们的网络生活已经离不开搜索了,遇到不懂的问题,想知道的事情,搜索一下,就知道答案. 在app中,最常见的搜索情景就是搜索用户.只有几百,几千的用户量时,可以直接用用like这样的模糊查询,但是, ...

  3. Visual Studio 2017 RC的坑

    ASP.NET Core Project add Docker Project Support的问题 执行上面操作以后,如果本机没有装好docker,就会一直报错,无法build通过,无论你在Proj ...

  4. Python基础之 一 文件操作

    文件操作 流程: 1:打开文件,得到文件句柄并赋值给一个变量 2:通过句柄对文件进行操作 3:关闭文件 模式解释 r(读) , w(写) ,a(附加)r+(读写的读), w+(读写的写),a+(读附加 ...

  5. 洛谷—— P2002 消息扩散

    P2002 消息扩散 题目背景 本场比赛第一题,给个简单的吧,这 100 分先拿着. 题目描述 有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市 ...

  6. CodeForces 582A【multiset使用样例】

    题意: 给一些无序的数字,求解一个矩阵,使得矩阵的每一个元素都是行和列标志数的gcd,输出行标志数. 首先对数字进行排序.复杂度n*log(n^2). 这题的证明有官方的英文题解==在这直接贴英文题解 ...

  7. 学习日常笔记<day12>jsp基础

    1.Jsp基础 1.1Jsp引入 Servlet的作用:用java语言开发动态资源的技术 Jsp的作用:用java语言(+html语言)开发动态资源的技术 jsp就是servlet 1.2Jsp的特点 ...

  8. Spring实战Day2

    创建对象之后如何体现对象之间的依赖? Spring容器负责创建Bean和依赖注入,那么Spring是怎么将Bean装配在一起的呢? Spring提供了三种方式装配机制 1.隐式的bean发现机制和自动 ...

  9. http返回写入问题

    1.服务器返回写的数据全是通过response对象,response.getWriter().print(msg);这样就返回写出数据了. 比如: logger.info("encrypte ...

  10. Linux程序设计(搭建开发环境--curses)

    看官们.咱们今天要说的内容.是前面内容的一点小补充,详细的内容是:安装curses开发包.以搭建 开发环境.闲话休说,言归正转. 我们在前面说过搭建开发环境的内容,主要说了开发环境中的GCC和VIM, ...