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系统下,行结束符为\r\n ,Linux,行结束符为\n,Mac上为,行结束符\r.因为这个区别,在一个系统中编辑另一个系统中的文件时,就会出现烦人的^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就可以解决此类问题。

linux之Vim使用的更多相关文章

  1. Linux vi/vim(转载)

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...

  2. Linux中vim的简单配置

    本文主要分享Linux中vim的简单配置 ★配置文件的位置     在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...

  3. Linux下vim文件未正常退出,修复文件

    Linux下vim文件未正常退出,会产生一个 .文件名.swp的文件 ls -al  ,rm   删掉.swp文件 之后就可以正常使用文件了

  4. Linux的vim编辑器中的翻页命令

    当我们进入Linux的vim编辑器查看脚本时,按上下键查看是不是非常慢?这个时候就要用到我们的翻页快捷键了,快捷键命令如: 整页翻页命令为:Ctrl + f 键   f 的英文全拼为:forward: ...

  5. linux之vim配置及使用示例

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7056193.html linux之vim配置及使用示例 vi的三种模式: 一 ...

  6. Linux之Vim学习

    Linux之Vim学习 一般模式 光标移动 按键 作用 j或down方向键 向下移动一个字符 k或up方向键 向上移动一个字符 h或left方向键 向左移动一个字符 l或right方向键 向右移动一个 ...

  7. Linux使用vim进行多文件查找和替换的方法

    vim是Linux系统下常用的文本编辑,通过使用多种shell命令能够实现多文件的查找和替换,那么具体会使用到那些命令呢?下面小编就给大家介绍下Linux系统vim多文件查找和替换的方法. 在linu ...

  8. 【Linux】Linux中VIM编辑器的使用

    vim编辑器是我们在Linux中不可或缺的一部分,我们通常会使用它去自定义编辑文本已达到我们的需求,那么vim文本编辑器具体要怎么使用呢.今天跟大家分享一下vim编辑器的使用: vim编辑器模式介绍 ...

  9. linux 下vim文件乱码 cat文件正常处理方法

    linux 下vim文件乱码 cat文件正常处理方法 服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileen ...

  10. linux下vim命令具体解释

    很具体的介绍linux中vim的操作命令. 高级一些的编辑器,都会包括宏功能,vim当然不能缺少了.在vim中使用宏是很方便的: :qx     開始记录宏.并将结果存入寄存器x q     退出记录 ...

随机推荐

  1. careercup-高等难度 18.1

    18.1  编写一个函数,将两个数字相加,不得使用+或其他算术运算符. int add(int a,int b) { ) return a; int sum=a^b; ; return add(sum ...

  2. 终端I/O之行控制函数

    下列4个函数提供了终端设备的行控制能力.其中,filedes引用一个终端设备,否则出错返回,errno设置为ENOTTY. #include <termios.h> int tcdrain ...

  3. 分割文件命令split

    使用Linux自带的split命令,可以将很大的文件分割成若干个小文件,以方便传送和使用. 命令格式: split [option] [input file] [output file] 常用选项: ...

  4. redis源码学习

    上帝禁区  http://blog.csdn.net/a600423444/article/details/8944601

  5. VC++制作DLL详解

    1.    DLL的基本概念 应用程序(exe)要引用目标代码(.obj)外部的函数时,有两种实现途径——静态链接和动态链接. 1.    静态链接 链接程序搜索对应的库文件(.lib),然后将这个对 ...

  6. solr返回的字段带有中括号问题

    在solr返回的结果集的content字段返回格式为: "content": ["测试content" ], 经过对比title 和content字段,发现co ...

  7. 【开源项目13】Volley框架 以及 设置request超时时间

    Volley提供了优美的框架,使android程序网络访问更容易.更快. Volley抽象实现了底层的HTTP Client库,我们不需关注HTTP Client细节,专注于写出更加漂亮.干净的RES ...

  8. Linux常用命令之seq

    标题:seq命令的使用 作用:seq命令用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式.宽度.分割符号进行控制 语法: [1] seq [选项] ...

  9. POJ 1502 MPI Maelstrom (最短路)

    MPI Maelstrom Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6044   Accepted: 3761 Des ...

  10. DevExpress使用之ChartControl控件绘制图表(多坐标折线图、柱状图、饼状图)

    最近因为公司项目需要用到WinForm的DecExpress控件,在这里把一些使用方法总结一下. DevExpress中有一个专门用来绘制图表的插件ChartControl,可以绘制折线图.饼状图.柱 ...