《Linux C编程从入门到精通》——2.3 Linux中的代码编辑器vim

2.3 Linux中的代码编辑器vim

在Linux中开发C语言应用代码,首先需要编写源代码,此时需要一个代码编辑器,在Linux中最常见的代码编辑器包括vimm、emacs、gedit等。

注意:代码编辑器的实质就是一个文本编辑器,只不过增加了一些代码编辑的辅助功能,例如关键字高亮,补齐等。

本书采用vimm作为代码编辑器,它是vim的功能加强升级版,是UNIX/Linux下最基本的文本编辑器,工作在字符模式下,由于不需要图形界面,它成为效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vim在系统和服务器管理应用中的功能是那些图形编辑器所无法比拟的。

vim是“Vimsual Interface”的简称,它在Linux上的地位就像Edit程序在DOS上一样。它可以执行输入、输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑器所没有的。

2.3.1 启动与退出vim
在Linux终端命令提示符下输入vim(或vim 文件名),即可启动vim编辑器。

vimm filename
或者

vimm
按Enter键执行该命令,系统便会自动打开文件名为filename参数指定的文件的vimm编辑界面,其初始界面如图2.2所示,它也可以通过在X Windows下的相应操作来打开一个图形化的操作界面。

当使用“vimm文件名”形式的命令时,若进行编辑的是当前工作目录下已存在的文件,启动vimm后便可看到该文件中的内容;若是当前目录下不存在的文件,则系统首先创建该文件,再使用vimm进行编辑。

要退出vimm,必须先按Esc键回到命令行模式,然后键入“:”,此时光标会停留在最下面一行(底行模式),再键入“q”,最后按下Enter键即可退出。

vimm拥有三种工作模式:命令行模式(command mode)、插入模式(input mode)与底行模式(last line mode)。三种模式下的功能可描述如下。

命令行模式:也叫做“普通模式”,它是启动vim编辑器后的初始模式。在该模式下,主要是使用隐式命令(命令不显示)来实现光标的移动、复制、粘贴、删除等操作。但是在该模式下,编辑器并不接受用户从键盘输入的任何字符来作为文档的编辑内容。
插入模式:在该模式下,用户输入的任何字符都被认为是编辑到某一个文件的内容,并直接显示在vim的文本编辑区。
底行模式:在该模式下,用户输入的任何字符都会在vim的最下面一行显示,按Enter键后便会执行该命令。
使用vim编辑器,首先必须能够熟练掌握各种工作模式下的功能,以及各种工作模式间的切换,图2.3所示为vim三种工作模式间的切换方法。

从图2.2中可以看到,命令行模式是vim编辑器的初始模式,从该模式下可以实现到任何模式的切换。而插入模式和底行模式之间不能相互切换,因为在插入模式下,任何输入的字符都被认为是编辑到某一个文件的内容,而不是命令;而在底行模式下,任何输入的字符都被看作是底行命令(尽管可能是不合法的),二者都必须先通过命令行模式才能进入对方,即需要先按Esc键回到初始模式。

下面向读者介绍各种工作模式下的常用命令。

2.3.2 vim的命令行模式
命令行模式是进入vim后的初始模式,在该模式下主要是使用方向键来移动光标的位置,并通过相应的命令来进行文字的编辑。在插入模式下按Esc键,或是在底行模式下按Esc键,或是在底行模式下执行了错误的命令,vim都会自动回到命令行模式。本节介绍命令行模式中常用的操作命令,由于这些命令比较多,在此仅做简单介绍,用户在使用时也可以查阅帮助文档。

1.移动光标
在命令行模式下,一般通过使用上、下、左、右4个方向键来移动光标的位置。但是在有些情况下,例如使用telnet远程登录时,方向键就不能使用,必须用命令行模式下的光标移动命令。这些命令及作用如表2.3所示。


2.复制和粘贴
复制和粘贴是在编辑文档时最常用的操作之一,可以大大节约用户重复输入的时间。vim的命令行模式下常用的复制和粘贴命令如表2.4所示。

3.删除
vim编辑器中的删除操作可以是一次删除一个字符,也可以是一次删除多个字符,或者整行字符,vim命令行模式常用的删除命令如表2.5所示。

  1. 其他命令
    命令行模式下其他常用的命令包括字符替换、撤销操作、符号匹配等命令,这些也是在使用vim时经常遇到的命令,其操作说明如表2.6所示。

2.3.3 vim的插入模式
插入模式是vim编辑器最简单的模式,因为在此模式下没有那些繁琐的命令,用户从键盘输入的任何有效字符都被看作是写进当前正在编辑的文件中的内容,并显示在vim的文本编辑区。

也就是说,只有在插入模式下,才可以进行文字的输入操作。表2.7所示为从命令行模式切换至插入模式的几个常用命令。当在插入模式下时,可以按Esc键回到命令行模式。

2.3.4 vim的底行模式
vim的底行模式也叫“最后行模式”,是指可以在界面最底部的一行输入控制操作命令,主要用来进行一些文字编辑的辅助功能,例如字串搜寻、替代、保存文件以及退出vim等。不同于命令行模式,底行模式下输入的命令都会在最底部的一行中显示,按下Enter键vim便会执行底行的命令了。

在命令行模式下输入冒号“:”,或者是使用“?”和“/”键,就可以进入底行模式了。比起命令行模式的诸多操作命令,底行模式的操作命令就少多了,如表2.8所示。

2.3.5 vim的应用实例
这是一个使用vim编写【例2.1】中应用代码的实例,其详细操作步骤如下。

(1)使用下列命令打开或者创造一个名为Examhello.c的文件,进入如图2.4所示的编辑状态。

alloeat@Ubuntu:~/chapter2Exam$ vim Examhello.c

(3)按Esc键结束编辑,然后使用“;”快捷键进入底行模式,输入“wq”保存文件并且退出。

此时完成了文件的编辑,即可以调用gcc对文件进行编译。

注意:在gcc编译过程中,其错误会定义到具体的行号,为了方便查找错误对应的行,可以在底行模式使用“set nu”命令在每一行前添加行号,如图2.6所示。

时间: 2024-10-25 04:43:03

《Linux C编程从入门到精通》——2.3 Linux中的代码编辑器vim的相关文章

《Linux C编程从入门到精通》》一导读

前言 Linux C编程从入门到精通 行业背景 Linux操作系统是一种类UNIX操作系统,其代码是开源的,任何开发者.爱好者都可以免费使用,因此一经推出便风靡世界.Linux自从面世以来,经不同开发者和程序员的开发,现在存在着许多不同的版本,这些版本的根本都在于使用了Linux内核.当前,Linux操作系统安装在各种各样的计算机设备中,包括手机.平板电脑.游戏控制器.台式计算机.大型机和超级计算机.Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统.

《Linux C编程从入门到精通》一第1章 Linux基础1.1 Linux的起源、发展和分类

第1章 Linux基础 Linux C编程从入门到精通 Linux是一套免费使用和自由传播的类UNIX操作系统,它已发展成为现今世界上最流行的一种操作系统.Linux不仅仅能在PC机上运行,随着嵌入式系统的发展,它已经被广泛地应用于各种场合. 1.1 Linux的起源.发展和分类 Linux C编程从入门到精通 Linux从1991年问世到现在已经有20多年的历史,它从一个架构简单的系统内核发展到了现在结构完整.功能丰富的多版本操作系统,本小节将介绍其起源发展和分类. 1.1.1 Linux的起

《Linux C编程从入门到精通》一1.3 Shell的使用基础

1.3 Shell的使用基础 Linux C编程从入门到精通 由于在C语言开发中常常需要和Shell打交道,本小节将简要介绍Shell的基本使用方法,终端的运行界面可以参考图1.5,以下仅仅给出在其中进行操作的相应字符串. 1.3.1 Shell命令的标准格式 Shell和用户交互是以字符串形式存在的命令和命令输出反馈的方式进行的,在Linux命令行中输入的第一个字符串必须是一个命令的名字,第二个字符串是命令的选项或参数,命令行中的每个字符串必须由空格键或Ta键隔开,格式如下. $ 命令 选项

《Linux C编程从入门到精通》》一2.4 Linux中的调试环境gdb

2.4 Linux中的调试环境gdb Linux C编程从入门到精通 从图2.1中可以看到,在实际开发过程中,程序除了语法正确之外,还必须符合设计者的逻辑意图.如果结果不正确,则可以通过相应的调试环境来跟踪调试,本小节将介绍Linux中最常用的gdb调试环境. Linux包含了一个gdb的调试程序,gdb是一个用来调试C程序的强大的调试器,它使程序员能在程序运行时观察程序的内部结构和内存的使用情况.gdb提供了以下一些功能. 监视程序中变量的值. 设置断点以使程序在指定的代码行上停止执行. 一行

《Linux C编程从入门到精通》一1.4 Linux的常用命令

1.4 Linux的常用命令 Linux C编程从入门到精通 在Shell中,用户需要通过使用适当的命令来完成相应的操作,本小节将介绍Linux中的部分常用命令. 1.4.1 文件操作命令 文件操作是Linux系统里最基本也是最常用的操作,本节列举了Linux中经常执行的一些普通文件操作命令. 1.显示文件列表 显示指定工作目录中所包含内容的命令是ls.要说明的是,ls命令列出的是文件的名字,而不是文件的内容.该命令的使用方式如下. ls [选项] [文件目录列表] ls命令中的常用选项如表1.

《Linux C编程从入门到精通》一第2章 在Linux中编写C语言代码2.1 Linux中C语言程序开发流程和工具介绍

第2章 在Linux中编写C语言代码 Linux C编程从入门到精通 Linux作为一个操作系统,一项重要的功能就是要支持用户编程.传统的UNIX下的程序开发语言是C语言,C语言是一种平台适应性强.易于移植的语言.Linux是用C语言写成的.反过来,Linux又为C语言提供了很好的支持,C语言编译工具gcc.调试工具gdb属于最早开发出来的一批自由软件.因此Linux与C语言形成了完美的结合,为用户提供了一个强大的编程环境,本章将介绍在Linux中编写C语言程序的流程和具体方法. 2.1 Lin

《Linux C编程从入门到精通》一2.2 Linux中的C语言编译器gcc

2.2 Linux中的C语言编译器gcc Linux C编程从入门到精通 gcc(GNU C Compiler)是GNU推出的功能强大.性能优越的多平台编译器,使用gcc可以编译C和C++源代码,编译出的目标代码质量非常好,编译速度也很快.本节主要讨论gcc的安装与使用方法. 2.2.1 gcc的安装 在Ubuntu12.04中,gcc是已安装好的,但是其还缺少常用的头文件和库文件,所以还需要安装build-essential这个包,可以在联网状态下使用如下命令来安装这个包. $ sudo ap

《Linux C编程从入门到精通》——导读

**前言**Linux操作系统是一种类UNIX操作系统,其代码是开源的,任何开发者.爱好者都可以免费使用,因此一经推出便风靡世界.Linux自从面世以来,经不同开发者和程序员的开发,现在存在着许多不同的版本,这些版本的根本都在于使用了Linux内核.当前,Linux操作系统安装在各种各样的计算机设备中,包括手机.平板电脑.游戏控制器.台式计算机.大型机和超级计算机.Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统.本书是Linux C语言开发的基础教程

《Linux C编程从入门到精通》——1.4 Linux的常用命令

1.4 Linux的常用命令 在Shell中,用户需要通过使用适当的命令来完成相应的操作,本小节将介绍Linux中的部分常用命令. 1.4.1 文件操作命令文件操作是Linux系统里最基本也是最常用的操作,本节列举了Linux中经常执行的一些普通文件操作命令. 1.显示文件列表 显示指定工作目录中所包含内容的命令是ls.要说明的是,ls命令列出的是文件的名字,而不是文件的内容.该命令的使用方式如下. ls [选项] [文件目录列表]ls命令中的常用选项如表1.2所示. 由于Linux支持多种文件