zoukankan      html  css  js  c++  java
  • 作为程序员之 Vim(一)

    开始使用 Vim(一)

      vim被称为是编辑器之神,如果可以学好vim的话,就可以在键盘上 “健指如飞” 了,可以完全摆脱鼠标来进行文本的定位编辑。
      当然,vim还可以进行各种配置,装上各种插件,做成 IDE ,会有很炫酷的感觉,而且做为 伟大 的软件工程师,能在键盘上 刷刷刷地,灵活地超控自己的代码也是一种非常值得 自豪的事,所以,我觉得,掌握 vim 是做为一个计算机方向专业的人的基础课程,很有必要去接触一下 vim 这个“编辑器之神”。
    
       据说vim的学习曲线变化很大,而且对于我这个之前完全没有接触过的人来说,完全不知道应该是怎么入手,网上去查找资料,得到的全是一大堆 完全看不懂 的命令和各种看起来好屌的 vim的配置和 用vim作为 IDE 的教程,看起来很厉害,可是却不是我想要的,我想要的是,我该怎么去入门这个东西,不需要听那么多复杂的完整的,像是字典一样的命令集合,而是一个能让我开始去使用 vim 的教程,能告诉我,刚开始该怎么去玩它。 

    开启

    下载 gvim 安装,然后windows系统的cmd命令打开gvim,也可以直接打开gvim.exe
    建立一个文档:vim test.txt.
    好了,算是开启 VIM 了。
    

    Alt text 


    Alt text

    简单介绍

    简单了解一下几种模式

    1. 普通模式
     Vim编辑方式的主要用途是在被编辑的文件中移动光标的位置。
     一旦光标移到到所要的位置,就可以进行剪切和粘贴正文块,删除正文和插入新的正文。当完成所有的编辑工作后,需要保存编辑器结果,退出编辑程序回到终端
    
    2. 插入模式
     按下 i 就可以进入插入模式,按下 esc 回到编辑模式。
     插入模式其实就是想我们正常使用文本编辑器那样,进行文字,代码的书写,但是光标的移动需要鼠标的辅助。
    
    3. 命令行模式
      使用 :进入命令行模式。
    
    4. 可视模式
      按下 v 进入可视模式,可以移动光标对文本进行选择。

    掌握几个常用的操作

    打开:
      :e path_to_file/filename
    
    存盘:
      :w    保存
      :q    退出
      :wq   保存并退出 wq 后面可以加文件名
      :q!   强制退出
    删除/复制/粘贴:
       x    删除当前光标所在的字符
       dd   删除当前光标所在的行
       yy   复制当前行
       nyy  复制n行
       p    小写字母 p,将缓冲区的内容粘贴到光标的后面
       P    大写字母 P,将缓冲区的内容粘贴到光标的前面
       u    撤销
    

    学会在文本中移动光标

    1 上下左右

     h(左) j(下) k(上) l(右)

    2 行内移动

    w                右移光标到下一个字的开头;
    e                右移光标到一个字的末尾;
    b                左移光标到前一个字的开头;
    0                数字0,左移光标到本行的开始;
    $                右移光标,到本行的末尾;
    ^                移动光标,到本行的第一个非空字符。

    3 更大范围的移动:

    *          当光标停留在一个单词上,* 键会在文件内搜索该单词,并跳转到下一处;
    #          当光标停留在一个单词上,# 在文件内搜索该单词,并跳转到上一处;
    (/)        移动到 前/后 句 的开始;
    {/}        跳转到 当前/下一个 段落 的开始。
    g_         到本行最后一个不是 blank 字符的位置。
    fa         到下一个为 a 的字符处,你也可以fs到下一个为s的字符。
    t,         到逗号前的第一个字符。逗号可以变成其它字符。
    3fa        在当前行查找第三个出现的 a。
    F/T        和 f 和 t 一样,只不过是相反方向;
    gg         将光标定位到文件第一行起始位置;
    G          将光标定位到文件最后一行起始位置;
    NG或Ngg    将光标定位到第 N 行的起始位置。

    4 找到需要的 某一页

    : n             将光标移到第 n 行
    ctrl+f           在文件中前移一页(相当于 page down);
    ctrl+b           在文件中后移一页(相当于 page up);
    H                将光标移到屏幕上的起始行(或最上行);
    M                将光标移到屏幕中间;
    L                将光标移到屏幕最后一行。
    3L               表示将光标移到屏幕的倒数第3行

    好了,到这里可以自个儿玩一阵子了,自己多试试上面的那些指令啊,体验一下脱离鼠标,让指尖游走在键盘上操控光标的成就感吧。


    搜索查找文本内容

    Vim中执行搜索匹配最强大的地方是结合 正则表达式 来搜索 
    当然,文本编辑,怎么可能少了搜索呢。 
    搜索方法是:键入字符 / ,后面跟以要搜索的字符串,然后按回车键。编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的开头;键入 n 命令可以继续执行搜索,找出这一字符串下次出现的位置。用字符 ? 取代 / ,可以实现反向搜索(朝文件开头方向)。例如:

    /str1             正向搜索字符串 str1;
    n                 继续搜索,找出 str1 字符串下次出现的位置;
    N                 继续搜索,找出 str1 字符串上一次出现的位置;
    ?str2             反向搜索字符串 str2 。

    替换

    Vim常规的删除命令是 d、 x (前者删除 行 ,后者删除 字符 ),结合Vim的其他特性可以实现基础的删除功能。将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多个字符或一行、多行。例如:

    d$                从当前光标起删除字符直到行的结束;
    d0                从当前光标起删除字符直到行的开始;
    J                 删除本行的回车符(CR),并和下一行合并。

    其他命令:

    rc                 用 c 替换光标所指向的当前字符;
    nrc                用 c 替换光标所指向的前 n 个字符;
    5rA                用 A 替换光标所指向的前 5 个字符;
    x                  删除光标所指向的当前字符;
    nx                 删除光标所指向的前 n 个字符;
    3x                 删除光标所指向的前 3 个字符;
    dw                 删除光标右侧的字;
    ndw                删除光标右侧的 n 个字;
    3dw                删除光标右侧的 3 个字;
    db                 删除光标左侧的字;
    ndb                删除光标左侧的 n 个字;
    5db                删除光标左侧的 5 个字;
    dd                 删除光标所在行,并去除空隙;
    ndd                删除(剪切) n 行内容,并去除空隙;
    3dd                删除(剪切) 3 行内容,并去除空隙;

    推荐文章 
    推荐博客

     
     
    最后希望,博客园能有一个真正好用的 Markdown 编辑器。。。
  • 相关阅读:
    HDU 5818 Joint Stacks
    HDU 5816 Hearthstone
    HDU 5812 Distance
    HDU 5807 Keep In Touch
    HDU 5798 Stabilization
    HDU 5543 Pick The Sticks
    Light OJ 1393 Crazy Calendar (尼姆博弈)
    NEFU 2016省赛演练一 I题 (模拟题)
    NEFU 2016省赛演练一 F题 (高精度加法)
    NEFU 2016省赛演练一 B题(递推)
  • 原文地址:https://www.cnblogs.com/tianjintou/p/4728404.html
Copyright © 2011-2022 走看看