• 多走走弯路,才不会有被剧透的乏味


      今天逛知乎,看到一个问题,为什么说一切问题都是数学问题,底下波斯王子回答说,他高中时琢磨乒乓球抽奖游戏,算出了中奖概率,后来才发现有排列组合这种东西,而这个东西明显比他们琢磨的公式更具有普遍性。下面答主又说了一句话,没有走过弯路,就体会不到它带来的高效,只有被剧透的麻木,这句话让我感触颇深,不禁让我想起当初学VIM时的惊喜,正是这种惊喜,让我对它情有独钟。

       刚学C语言的时候,用的是VC++6.0,后来换成了vs2008,用了差不多一年,才开始学vim,学了一段时间之后,立刻被它吸引了。

     因为自己刚开始经常漏掉分号(现在偶尔也漏掉- _ -||),才感觉A这个命令是多么地顺手。

     因为经常编译错误,然后根据错误报的行号来查找代码,才发现NUM+G这个命令定位错误是多么地迅速。

     因为经常要写了一段代码之后再添加头文件,才发现gg这个定位到文件开头的命令是多么地方便。

     因为经常写HTML文件,才发现vim内置的文本对象t多么地让我们眼前一亮。

     因为经常用fopen或者file这些函数打开文件,才觉得vim的ctrl+x ctrl+f这个自动补全是多么地猿(程序猿)性化。

     因为原来学OpenGL经常写这种代码:

    x_m = sector1.triangles[loop_m].vertexs[0].x;
    y_m = sector1.triangles[loop_m].vertexs[0].y;
    z_m = sector1.triangles[loop_m].vertexs[0].z;
    u_m = sector1.triangles[loop_m].vertexs[0].u;
    v_m = sector1.triangles[loop_m].vertexs[0].v;
    glTexCoord2f(u_m,v_m);      glVertex3f(x_m,y_m,z_m);
    
    x_m = sector1.triangles[loop_m].vertexs[1].x;
    y_m = sector1.triangles[loop_m].vertexs[1].y;
    z_m = sector1.triangles[loop_m].vertexs[1].z;
    u_m = sector1.triangles[loop_m].vertexs[1].u;
    v_m = sector1.triangles[loop_m].vertexs[1].v;
    glTexCoord2f(u_m,v_m);      glVertex3f(x_m,y_m,z_m);
    
    x_m = sector1.triangles[loop_m].vertexs[2].x;
    y_m = sector1.triangles[loop_m].vertexs[2].y;
    z_m = sector1.triangles[loop_m].vertexs[2].z;
    u_m = sector1.triangles[loop_m].vertexs[2].u;
    v_m = sector1.triangles[loop_m].vertexs[2].v;
    glTexCoord2f(u_m,v_m);      glVertex3f(x_m,y_m,z_m);

      才觉得vim的块选择(ctrl + v)替换数组下标是多么方便。

     因为经常要修改一行代码上的某个字符,才发现[f|t]+letter和; ,这几个命令配合起来是多么地犀利。

     因为经常要上下左右移动,才发现原来hjkl这四个位于home row上的按键,真的要比箭头键快很多。

     因为经常要批量注释,才发现tim pope的commentary插件的gc命令真的要比vs的ctrl+k ctrl+c快很多。

     因为经常纠结于代码风格,才发现.这个命令对于在运算符两边添加空格真是神器(移动到加号上,s空格+空格Esc,然后遇到+(配合f+;命令)就狂按.)。

     因为经常查找,才发现开启了hlsearch的/命令真的要比Ctrl + f好用很多倍。

     因为:wq用的多了,才感觉ZZ用起来是多么地顺手。

     因为Esc键按多了,才感觉将CapsLock(大写锁)映射成Esc键是多么地舒服。

     因为经常要移动到函数末尾,才发现原来]}要比[[%快一点。

     因为删除半行代码多了,才发现原来不仅可以用c$,还可以直接用C。

     因为在某行下添加代码这种修改做的多了,才感觉o真的要比End再加回车键要快多了。

     因为查找函数定义,变量定义多了,才发现原来不仅有/命令,还有#和*这两个神器。

     因为拼写错误多了,才感觉插入模式下的ctrl + w和Ctrl + h,真的比Backspace键好用多了。

     除此之外,还有种种,种种。我想,正是因为我代码写的多了,各种笨办法用的多了,当见到vim各种神奇的命令之后,我才会去彻底拜服,从此不能自拔。。

     这仅仅是我的个人一篇感想,就是想告诉大家,不要怕犯错,不要怕走弯路,这样遇到了真正神奇的东西才不会有那种剧透的乏味。同时,我也无意抬高vim或者Linux,贬低Windows或者其他编辑器。这些东西本质都是工具,真正体现程序员水平的东西不在于他用什么工具,而在于他写出了什么样的代码,具有什么样的编程思想,这才是真正值得别人尊敬或者崇拜的东西。

  • 相关阅读:
    HDU 1716 排列2
    HDU 3405 World Islands
    HDU 5624 KK's Reconstruction
    HDU 2689 Tree
    UVA 12075 Counting Triangles
    UVA 11100 The Trip, 2007
    [USACO 2004DEC] Navigation Nightmare
    [USACO 2017DEC] Barn Painting
    [Usaco2017 Dec] A Pie for a Pie
    [USACO 2017DEC] Greedy Gift Takers
  • 原文地址:https://www.cnblogs.com/bwangel23/p/4526361.html
Copyright © 2020-2023  润新知