zoukankan      html  css  js  c++  java
  • linux之Vim使用

    Vim同Emac是Linux世界下最为流行的两个文本编辑工具,集中精力学习一个就好了,暂定以Vim为学习对象。在本文中,一些基本的操作将不再介绍,只会介绍最为常用的命令以及设置,操作系统为Ubuntu 12.04.

            Vim的默认配置,是没有显示行号、语法高亮、智能缩进等功能,为了更好的开展工作,需要手动设置一个配置文件.vimrc,一般将其放在用户根目录下,作为用户自定义的配置文件使用。/etc/vim/vimrc为全局的配置文件,修改这个文件,将会改变所有用户的vim配置。

    既然是编辑,那中文输入法也是少不了的,点击链接来安装中文输入法。

    相关的配置,可以参考 强大的vim配置文件,让编程更随意

     

    1. 常见的Vim命令

              1. 基本操作

    上下左右的移动: 上(K),下(J)

    /pat : 向前搜索pat

               ?pat : 向后搜索pat

    把光标移动到你要搜索的词(变量名、函数名等),比如,test,然后按*(向下完整匹配光标下的单词),Vim将自动产生一个对test的完整搜索单词。#为向上完整匹配光标下的单词。

    x :用于删除单个字符

    dd:删除一行

    删除惹人烦恼的^M:在不同环境中的文本编辑文件,对于换行符的解释不一样。Dos系统下,行结束符为 ,Linux,行结束符为 ,Mac上为,行结束符 .因为这个区别,在一个系统中编辑另一个系统中的文件时,就会出现烦人的^M。

    u: 撤销上一步的操作

    :(n,m)s/ a / b ( /g ) 用b来替换a,在n~m行之间。$s表示最后一行

    0:移到一行的开头

    $:移到一行的结尾

    gf快捷键来进入任意一个被include <header.h>的头文件,使用ctrl+O回到使用gf之前的地方。

    2. 使用Vim进行调试和编译

        利用Vim的quickfix模式,可以在Vim中启动编译,如果编译出错的话,Vim会根据编译器输出的错误信息,自动跳到第一个出错的地方,修改完毕后,使用快捷键,可以跳到下一个错误的地方,再进行修改。

       Quickfix模式的原理是,从编译器的编译输出信息中获得有关错误的相关信息,将其保存在一个位置列表中,然后提供一系列命令,实现在这些位置列表中跳转。

    为了使用quickfix,你首先定义编译你程序的指令makeprg,

    :set makeprg=gcc -Wall -ohello hello.c 

    然后执行:make就可以编译了。

      在使用:make时,vim会自动调用makeprg选项定义的命令进行编译,并把编译信息重定向到一个临时文件,当编译出现错误时,vim会从临时文件中读出错误信息,据此形成quickfix列表,并跳转到第一个错误出现的地方。

    在quickfix模式里经常用到的命令有:

    :cc                显示详细错误信息 ( :help :cc )
    :cp                跳到上一个错误 ( :help :cp )
    :cn                跳到下一个错误 ( :help :cn )
    :cl                列出所有错误 ( :help :cl )
    :cw                如果有错误列表,则打开quickfix窗口 ( :help :cw )
    :col               到前一个旧的错误列表 ( :help :col )
    :cnew              到后一个较新的错误列表 ( :help :cnew )

    详细参考点此

     

    3. Vim常见问题解决

    1. 问题描述:

    在Vi里面,下意识的按了Ctrl+S来保存,结果界面卡死,无法输入。

    问题原因:

    在Vi中,Ctrl+S用来暂停向终端发送数据的,既然是暂停发送数据,那么屏幕就自然接收不到其他数据了,这种情况下,可以使用Ctrl+q来恢复。

     

    2. 问题描述:

    当使用笔记本键盘时,用vi处于编辑模式,在按上下左右时,出现ABCD并且加换行。

    问题原因:

    vim是vi的升级版程序,关于键盘映射上面,老Vi对于小键盘的上下左右会解释成ABCD,新版Vim为了兼容旧版Vi写的脚本,添加了vim的兼容模式,但是,现在已经没有必要使用vi兼容模式了。

    解决方法:

    在vi中设置:set nocp 恢复为不兼容旧版Vi的模式,或者往用户目录下的.vimrc中添加此命令set nocp就可以解决此类问题。

  • 相关阅读:
    硬盘安装Win 7系统Windows 7 系统硬盘安装教程(图解)
    修改phpMyAdmin导入SQL文件的大小限制
    金三银四面试季节之Java 核心面试技术点
    2015年校园招聘12家IT公司面试体验
    正则表达式小结
    【译文】NginScript – 为什么我们要实现自己的JS引擎?
    经典算法合集
    【高级JSE技术】线程池
    【高性能服务器】Tomcat剖析
    【高性能服务器】Nginx剖析
  • 原文地址:https://www.cnblogs.com/cherishui/p/4245606.html
Copyright © 2011-2022 走看看