`
zsnlovewl
  • 浏览: 176530 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux文件编辑器 Vi(Vim)

阅读更多

文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和nano ... ... vi和vim是我们在Linux中最常用的编辑器。我们有必要介绍一下vi(vim)最简单的用法,以让Linux入门级用户在最短的时间内学会使用它。

nano 工具和DOS操作系统下的edit操作相似,使用简单,我们不作介绍了,如果您有兴趣,不妨尝试一下;


2、vi 编辑器;


为什么要学会简单应用vi

vi 或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,永远不是图形界面的编辑器能比的。当您没有安装X-windows桌面环境或桌面环境崩溃时,我们仍需要字符模式下的编辑器vi;

vi或vim 编辑器在创建和编辑简单文档最高效的工具;


3、vi 编辑器的使用方法;

 

3.1 如何调用vi ;

 

[root@localhost ~]# vi filename


~
~
~
~
~
~
~
~


3.2 vi 的三种命令模式;

 

Command(命令)模式,用于输入命令;
Insert(插入)模式,用于插入文本;
Visual(可视)模式,用于视化的的高亮并选定正文;


3.3 文件的保存和退出;


Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。

当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;


:w 保存;
:w filename 另存为filename;
:wq! 保存退出;
:wq! filename 注:以filename为文件名保存后退出;
:q! 不保存退出;
:x 应该是保存并退出 ,功能和:wq!相同


3.4 光标移动;


当我们按ESC进入Command模式后,我们可以用下面的一些键位来移动光标;


j 向下移动一行;
k 向上移动一行;
h 向左移动一个字符;
l 向右移动一个字符;
ctrl+b 向上移动一屏;
ctrl+f 向下移动一屏;
向上箭头 向上移动;
向下箭头 向下移动;
向左箭头 向左移动;
向右箭头 向右移动;

我们编辑一个文件时,对于 j、k、l和h键,还能在这些动作命令的前面加上数字,比如 3j,表示向下移动3行。


3.5 插入模式(文本的插入);

 

i 在光标之前插入;
a 在光标之后插入;
I 在光标所在行的行首插入;
A 在光标所在行的行末插入;
o 在光标所在的行的上面插入一行;
O 在光标所在的行的下面插入一行;
s 删除光标后的一个字符,然后进入插入模式;
S 删除光标所在的行,然后进入插入模式;


3.6 文本内容的删除操作;

 

x 一个字符;
#x 删除几个字符,#表示数字,比如3x;
dw 删除一个单词;
#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
dd 删除一行;
#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
d$ 删除光标到行尾的内容;
J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;


3.7 恢复修改及恢复删除操作;

 

u 撤消修改或删除操作;

按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改;如果您想撤消多个以前的修改或删除操作,请按多按几次u。这和Word的撤消操作没有太大的区别;


3.8 可视模式;


在最新的Linux发行版本中,vi提供了可视模式,因为这个功能是vim才有的。如果您用的vi没有这个功能,就换成vim就有了。打开可视模式,按ESC键,然后按v就进入可视模式;

可视模式为我们提供了极为友好的选取文本范围,以高亮显示;在屏幕的最下方显示有;


-- 可视 --

--VISUAL--


进入可视模式,我们就可以用前面所说的命令行模式中的光标移动指令,可以进行文本范围的选取。

选取文本范围有何用?

我们可以对某部份删除作业,按d键就删除了我们选中的内容。
选中内容后,我们按y就表示复制;按d表示删除;

值得一提是的删除的同时,也表示复制。我们返回到命令模式,然后移动光标到某个位置,然后按shift+p键,就把刚才删除的内容贴上了。我们先在这里提一句,在后文,我们还得详细说说。

退出可视模式,还是用ESC键;


3.9 复制和粘帖的操作;


其实删除也带有剪切的意思,当我们删除文字时,可以把光标移动到某处,然后按shift+p键就把内容贴在原处,然后再移动光标到某处,然后再按p或shift+p又能贴上;


p 在光标之后粘帖;
shift+p 在光标之前粘帖

来举一例:

比如我们想把一个文档的第三行复制下来,然后帖到第五行的后面,我们应该怎么做呢?

有两种方法;

第一种方法:

先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下shift+p键。这样就把刚才删除的第三行帖在原处了。

接着我们再用k键移动光标到第五行,然后再按一下p键,这样就把第三行的内容又帖到第五行的后面了;

第二种方法;

进入可视模式,按ESC键,然后按v键。移动鼠标指针,选中第三行的内容,然后按y键复制;再移动指针到第五行,最后按p键;

所以复制和粘贴操作,是命令模式、插入模式及可视模式的综合运用;我们要学会各种模式之间的切换,要常用ESC键;更为重要的学会在命令模式下移动光标;


3.10 关于行号;


有时我们配置一个程序运行时,会出现配置文件X行出现错误 。这时我们要用到行号相关的操作;


为所有内容添加行号;


按ESC键,然后输入:


:set number

光标所处位置

在屏幕的右下角,有类似如下的;


      57,8 27%

在这之中,57表示第57行,8表示第8个字符;


3.11 查找和替换功能;

 

3.11.1 查找;


首先,我们要进入ESC键,进入命令模式;我们输入/或?就进入查找模式了;


/SEARCH 注:正向查找,按n键把光标移动到下一个符合条件的地方;
?SEARCH 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

举一例:比如我想在一个文件中找到swap单词,我应该如下做;

首先按ESC键,进入命令模式,然后输入;


/swap

?swap


3.11.2 替换;


按ESC键进入命令模式;


:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
:%s /SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE;
:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;

注:在这之中,g表示全局查找;我们注意到,就是没有替换的地方,也会把SEARCH高亮显示;

举例说明:

比如我们有一篇文档要修改;

我们把光标所在的行,把所有单词the,替换成THE,应该是:


:s /the/THE/g

我们把整篇文档的所有的the都替换成THE,应该是:


:%s /the/THE

我们仅仅是把第1行到第10行中的the,替换成THE,应该是;


:1,10 s /the/THE/g


4、关于本文;


我写本文的目的是让新手在最短的时间内用vi或vim创建、编辑和修改文件,所以说这篇文档并不是大而全的vi手册。如果把vi所有的功能都说全了,至少得写一本千页的手册;本也没有涉及更为高级的vi用法。如果想了解的更多,请查找man和help;

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/li_guang/archive/2009/07/03/4319858.aspx

分享到:
评论

相关推荐

    Linux文件编辑器命令详解

    Linux文件编辑器命令详解 Linux文件编辑器 Vi(Vim) 关键字: vim 1、关于文本编辑器; 文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和...

    学习vi和vim编辑器.pdf_vim实用_vi_vim_

    vi(Visual Editor)是Linux/Unix系统下的一款强大的文本编辑器,它以其简洁高效的操作方式深受程序员和系统管理员的喜爱。vi的名字来源于“Visual”首字母,但在无图形界面的终端环境下,它更常作为一种非可视化的...

    学习vi和vim编辑器_第7版_中文+英文_PDF

    《学习vi和Vim编辑器(中文版... vi或Vim,是使用Linux或Unix时的必要知识,无论使用哪种平台,《学习vi和Vim编辑器(中文版第7版)》都是基础中的基础。 《学习vi和Vim编辑器(中文版第7版)》由罗宾斯、汉娜和拉姆编著。

    Linux文本编辑器-vim.pdf

    "Linux文本编辑器Vim的使用和应用" Linux文本编辑器Vim是一个功能丰富且强大的文本编辑器,被广泛用于Linux系统。它是Vi的增强版本,提供了更多的功能和改进,同时可以通过插件扩展其功能。Vim提供了三种模式:命令...

    基于C/C++语言的简易vim编辑器 仿vim编辑器

    # 基于C/C++语言的简易vim编辑器 仿vim编辑器 1. 编辑器下有normal和insert两种模式。默认为normal模式,按i键进入insert模式,按esc退出insert模式。 2. normal模式下按 h j k l键向左上下右移动光标。 3. normal...

    Linux上vi(vim)编辑器使用教程

    本教程主要介绍了 Linux 上 vi(vim) 编辑器的使用方法,包括基本介绍、使用模式、文件的打开关闭保存、插入文本或新建行、移动光标、删除、恢复字符或行、搜索等等。 基本介绍 vi(vim) 是 Linux 非常常用的编辑器...

    Linux编辑器及VIM初步

    本篇主要聚焦于Linux编辑器中的VIM(Vi Improved),它是一款非常流行、功能丰富的命令行文本编辑器。 VIM是在原始Vi编辑器的基础上发展起来的,保留了其简洁、高效的特点,并增加了许多现代化的功能。在Linux环境...

    Linux中vim安装包

    Vim(Vi Improved)是一款强大的文本编辑器,在Linux系统中广泛使用。它基于早期的Vi编辑器,并进行了大量的增强和改进,提供了丰富的特性集,适用于程序员、系统管理员以及普通用户。Vim在命令模式下工作,通过键盘...

    Windows下的vi文本编辑器(vim)

    windows下的vi编辑器,不需要其他dll之类,单文件就可以在windows下面执行,喜欢在linux下用vi的有福了,这个是我找了很久才找到的,现在新版的vim在Windows下面都需要其它文件才能运行

    linux实验报告vi编辑器的使用.pdf

    Vi编辑器是Linux系统中最基本的文本编辑器,系统管理员的重要工作就是修改与设定某些重要软件的配置文件,因此至少得要学会一种以上的命令界面文本编辑器。Vi编辑器可以用不同颜色显示文字内容,还能够进行诸如shell...

    学习vi和Vim编辑器_CN.pdf

    - **Vim编辑器**:Vim(Vi Improved)是在vi的基础上进行扩展改进的版本,由Bram Moolenaar开发维护。Vim不仅继承了vi的所有功能,还添加了许多新的特性,如语法高亮、图形用户界面(GUI)、代码折叠等,极大地提升...

    学习vi和vim编辑器_第7版_中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    学习VI和VIM编辑器第7版中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    Linux vi/vim 常用操作思维导图

    Linux系统中,vi是一个非常强大的文本编辑器,广泛用于Unix-like系统中进行文档编写和程序代码的编辑。vim是vi编辑器的增强版本,它不仅具备vi所有的功能,还增加了很多增强功能,例如语法高亮、多级撤销等。以下...

    学习vi和vim编辑器第7版

    vi和vim编辑器是Linux操作系统中不可或缺的文本编辑工具,几乎成为了Linux系统管理员和开发者必备的技能之一。vi是较早的版本,而vim(Vi IMproved)是vi的一个增强版本,它在vi的基础上增加了许多新特性,比如多级...

    ViVim编辑器使用《博雅运维Linux全套笔记》

    在Linux系统中,Vi和Vim编辑器是文本处理的重要工具。本笔记将详细介绍如何使用Vi/Vim编辑器进行有效的文本编辑,覆盖基础操作、编辑技巧、命令模式应用等,旨在帮助运维人员提高Linux下文本编辑的效率。 首先,Vi...

    linux的文本编辑器vim

    vim的常用操作,vim没有菜单,只有命令 插入模式 定位命令 4. 删除命令 5. 复制和剪切 6. 替代和取消 7.搜索与替换 6. 保存与退出 7. 导入命令执行结果. ‘:r ! 命令’ 导入文件。 ‘:r 文件’ 导入该文件到...

    学习VI和VIM编辑器第7版中文

    对于Linux操作系统中VI、VIM编辑器的应用,适用于新手

Global site tag (gtag.js) - Google Analytics