vim应用解析1

来源:互联网 发布:恒腾网络股票行情 编辑:程序博客网 时间:2024/06/08 00:26

       vim 编辑器是一个模式编辑器,这可能是用惯了 windows 下的编辑器的程序员很不习惯的一点。vim有三种模式,这三个模式下的我们的键盘的按键所起到的顺序是不一样的。

       (1).Normal 模式是“正常模式”,这时候我们输入的每一个字符会被当做一个命令,我们刚启动 vim 时就工作于 normal 模式。它的主要功能就是控制屏幕光标的移动、进行文本的删除、复制等文字编辑工作,比如此时的 h 表示光标向左移动一格。

      (2).Insert 模式是“插入模式”,这时候和我们的 windows 下的文本编辑器就很相似了,键盘输入什么就在屏幕上显示什么,比如我们此时敲击键盘上的 h 表示在屏幕上显示 h 字符。

      (3).last line mode 即”底行模式”,它主要用于保存文件或者退出vim,同时也可以设置编辑环境和一些编译工作,比如列出行号、查找字符串等等。也有些人把底行模式并入命令模式,这个没有硬性规定。

      无论处于什么模式下,只要按一下esc都可以转换到命令行模式,从命令行模式中按下i/a/o三个键都可以转换到插入模式,从命令行模式中按下:冒号键就可以转换到底行模式。


      最常用的一些命令
      1.在 normal 模式下,我们用 h 表示向左移动光标,用 j 表示向下移动光标,用 k 表示向右移动光标,用 l 表示向右移动光标。
      

      2.这 四个字母在键盘上是连着的,其中 h 是四个字母中最左边的,因此是向左移动的意思,l 是最右边的,因此是向右移动的意思,j 和 k 则是先下后上,前面的那个表示向下。
      

      3.而 w 表示向后移动到下一个单词的首字母上,而 b 则表示移动到前一个单词的首字母上,w 是“word”的首字母,表示“单词”的意思,b 则是“before”的首字母,表示“前一个”。
      

      4.e 表示向后移动到下一个单词的最后一个字母上,而 ge 则表示向前移动到下一个单词的最后一个字母上。
      

      5.有很多字符也被认为是 word,比如“.”,”-“和“)”等都被认为是一个 word,我们可以自由的定义这些 word,这些我们到后面讲配置的时候再说。

      6.”$”命令将光标移动到当前行的行尾,我们可以用<End>键起到相同的作用。“^”则是将光标移动到当前航的第一个非空白字符上。”0”命令则把光标移动到当前行的第一个字符上,我们也可以用<Home>键起到相同的作用,如果读者知道正则表达式,那么^是字符串开始的意思,而$则匹配到字符串的结束。

      7.$命令还可以接受一个计数,比如 1$会移动到当前行的行尾,2$则会移动到下一行的行尾,以此类推。而 0 命令和^命令的前面加上一个计数并没有任何效果,因为它们本身的意义决定了它们不需要数字的参与。

      8.我们上面说 w 命令表示向后移动到下一个单词的开始处,没错,3w 则表示向后移动三个单词,3b 表示向前移动三个单词,其他数字的功能也是类似的。

      9.上面我们的移动功能都是一个单字符的命令,下面我们介绍 f加上一个字符的命令,这里的 f 表示“find”,比如 fx 表示在当前位置向下定位到第一个 x 所在的位置。

      10.上面的 f 加一个字符表示向右搜索,而 F 加一个字符表示向左搜索。

      11.说完了 f 命令,下面说一下 t 命令。t 是“to”的简写,比如tx 表示向右寻找第一个 x 所在的位置,但是它不是把光标停留在被搜索的字符上,而是在它之前的前一个字符上。小写的 t表示向右搜索,大写的 T 表示向左搜索。

      

      专为程序员准备的快捷键

      1.上面的光标移动对于是否是程序员都很重要,但是有些移动就是没有道理,因为我们写程序经常要用到,这是作为程序员必备的移动方式。

      2.我们用 c 、Cpp、Java、PHP 等编程语言写程序的时候,经常会被层层嵌套的括号给弄晕,我们怎么样能快速匹配到该括号对应的另一部分呢?我们只需要把光标移动到某一个括号上,然后点一下%命令,它会自动把光标定位到与之对应的括号的另一部分上。它不仅可以处理小括号,中括号,当然还包括大括号。

      3.有时候我们需要显示行号,我们用:set number 来显示行号,也可以用:set nonumber 来取消显示行号。

      4.有时候我们会收到提示比如说第 104 行有错误,那么在windows 下我们通常是根据行号找到 104 行,但是在 vim 下,我们用 104G 命令来把光标移动到 104 行的行首,注意这里的G 需要是大写的,即我们按住 shift 再按下 g 键就可以了,跳转到其他行也是 同理,只是我们修改前面的数字的事。

      5.如果我们想要跳转到第一行,那么使用 gg 命令无疑是最快捷的了。上面的大写 G 是“go”的首字母,即”出发,前往(多少行)”,这里的 gg 则是 gogogo 的意思,直接到了第一行。

      6.除了指定具体的行号之外,我们还可以使用 50%命令来跳转到文件的中间位置,用 80%命令跳转到文件的百分之八十的位置,这个根据自己的爱好吧。

      7.我们可以用/加一个单词然后在整个文档中搜索这个单词,然后用数字加 n 的组合来定位第几个单词。

      8.如果我们想要单纯的只使用该单词比如 xin,那么我们可以用命令/\<xin\>来做到,其中\<表示匹配一个单词的开头,而\>则表示匹配一个单词的结束。





      
0 0
原创粉丝点击