鸟哥的Linux 私房菜-- vim 程式编辑器
- 格式:pdf
- 大小:1.51 MB
- 文档页数:14
vim(vi)是Linux中功能强大的编辑工具。
☆vim有3中主要的模式:1.normal mode:当进入vim时,默认的模式就是normal mode。
在此模式下,无法输入任何文字,不过可以利用按键命令来执行许多操作命令,例如移动光标位置、复制、删除。
2.insert mode:进入vim输入a、i、或o键。
即可进入insert mode,此模式下可以输入文字内容。
mand-line mode:在norma lmode中输入“:”即会进入command-line mode,在此模式下,可以做一些与输入文字无关的事,例如搜索字符串、保存文件或结束编辑等。
☆在normal mode下:h:将光标向左移动一格l:将光标向右移动一格j:将光标向下移动一格k:将光标向上移动一格ctrl+b:将页面向前卷动一页ctrl+f:将页面向后卷动一页0:将光标移到该行最前面$:将光标移到该行的最后面G:将光标移到最后一行的开头we或E:将光标移到本单字的最后一个字符;如果光标所在位置为本单子的最后一个字符,则跳到下一个单字的最后一个字符。
b:将光标移到本单词的第一个字符;如果光标所在位置为本单词的第一个字符,则跳到上一个单字的第一个字符。
ctrl+u:将光标向前移动半页ctrl+d:将光标向右移动半页ctrl+e:屏幕向下卷动一行,也可以说文章和光标向上卷动一行ctrl+y:屏幕向上卷动一行,也可以说文章和光标向下卷动一行☆在command-line mode下:e 文件的路径及名称:打开指定文件a:从当前光标所在的位置的下一个字符开始输入i:在光标所在的位置插入新输入的字符o:新增加的一行,并将光标移到下一行的开头w:文件的路径及名称保存文件q:退出vim☆Vim的常用操作命令★复制文字yy:可将光标目前所在位置的正行复制,复制时不会将文字反白显示nyy:其中n为数字键,表示要复制的行数,若按3yy,则连同光标所在的位置的一行,与下面2行一起复制yw:可复制光标所在位置到整个单词结束的字符nyw:n表示要复制的单词数目,若按3yw,则会将目前光标所在位置到单词结束,以及后面的2个字一起复制p:可将复制的文字粘贴到当前光标所在的位置。
Linux VI编辑器VI编辑器的英文缩写是Visual interface,即视觉交互界面。
使用VI编辑器能够在任何shell、字符终端或基于字符的网络连接中使用,无须GUI即能够高效地在文件中进行编辑、删除、替换和移动等操作。
1 启动VI编辑器VI编辑器是一个基于Shell的全屏幕文本编辑器,没有菜单,全部操作都基于命令。
例如,启动VI打开一个特定文件,路径为/tmp/a,可以在终端窗口中输入“vi /tmp/a”命令,如图6-37所示。
若该文件是新文件,可以看到如图6-38所示的结果。
图6-37 打开文件图6-38 编辑a文件从上图可以看出,在屏幕的顶部的方框代表光标位置,底部显示当前编辑文件的信息。
中间的波浪号“~”是一些填充符,表示这些位置没有内容。
刚开始使用VI编辑器的用户可能会觉得VI编辑器并不友好,没有菜单,也没有提示,在使用时计算机甚至还会发出“不知原因”的鸣叫。
但是,当用户熟悉VI编辑器以后,就会发现只要掌握了VI编辑器的命令,VI编辑器的使用将是十分灵活便捷的。
2 VI运行模式VI编辑器的三种运行模式分别是编辑模式、输入模式和命令模式。
在命令提示符后输入“vi”和想要编辑(或建立)的文件名,便可进入VI编辑器。
如果只输入“VI”,而不带文件名,也可以进入VI编辑器。
可以先输入新建文件的内容,然后在退出VI时,于退出命令后输入文件名保存新建文件。
进入VI编辑器之后,首先进入的就是编辑模式,进入编辑模式后VI编辑器等待的是编辑命令输入而不是文本输入,也就是说这时输入的字母都将作为编辑命令来解释。
如果输入“vi 文件名”时,该文件已在系统中存在,则屏幕上将显示出该文件的内容,并且光标停在第一行的首位,状态行将显示出该文件的文件名、行数和字符数。
在编辑模式下输入插入命令“i”、附加命令“a”和打开命令“o”等都可以进入输入模式。
在输入模式下,用户输入的任何字符都被VI编辑器当作文件内容保存起来,并将其显示在屏幕上。
如何使用Vim进行代码编辑引言:Vim是一款高度可定制的文本编辑器,广泛用于程序员和系统管理员之间的代码编辑和文本处理任务。
它具有强大的功能和灵活的操作方式,可以大大提高编码效率。
本文将介绍如何在Vim 中进行代码编辑,并列举一些常用的技巧和快捷方式,帮助读者更好地使用Vim编辑器。
第一章:Vim基础1.1 安装和启动Vim- 下载和安装Vim的最新版本;- 运行终端,并输入“vim”命令启动Vim编辑器;- 进入Vim的命令模式并开始编辑代码。
1.2 Vim的基本模式- 命令模式:用于执行各种编辑命令;- 插入模式:用于实际编辑文本;- 可视模式:用于选择和操作文本块。
第二章:Vim编辑技巧2.1 移动光标的快捷方式- 使用h、j、k、l键分别向左、向下、向上、向右移动光标;- 使用gg和G快速在文件的开头和结尾之间切换;- 使用Ctrl+f和Ctrl+b在文本之间快速滚动。
2.2 文本编辑和修改- 使用i和a命令进入插入模式,用于在当前光标处开始编辑;- 使用o和O命令在当前行之后或之前插入新行并进入插入模式;- 使用d和p命令删除和粘贴文本。
2.3 撤销和重做操作- 使用u和Ctrl+r命令撤销和重做上一次操作;- 使用U快速撤销对整行的修改;- 使用.命令重复上一次的修改操作。
第三章:Vim的高级功能3.1 多文件编辑- 使用:sp和:vsp命令在同一个窗口中同时打开多个文件;- 使用Ctrl+w+h、Ctrl+w+j、Ctrl+w+k和Ctrl+w+l快捷方式在不同窗口之间切换;- 使用:bn和:bp命令在不同的缓冲区之间切换。
3.2 快速搜索和替换- 使用/和?命令分别进行向前和向后的快速搜索;- 使用:%s/old/new/g命令进行全局搜索和替换;- 使用:n和:N命令在不同的匹配项之间跳转。
3.3 定制Vim编辑器- 创建.vimrc文件并添加个人配置选项;- 定制快捷键和颜色方案;- 下载和安装插件以增强Vim的功能。
新⼿指南:Linux上vi(vim)编辑器使⽤教程vi(vim)是上Linux⾮常常⽤的编辑器,很多Linux发⾏版都默认安装了vi(vim)。
vi(vim)命令繁多但是如果使⽤灵活之后将会⼤⼤提⾼效率。
vi 是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。
在⼀般的系统管理维护中vi就够⽤,如果想使⽤代码加亮的话可以使⽤vim。
下⾯vps侦探整理⼀下vi的使⽤教程:包含vi的基本介绍、使⽤模式、⽂件的打开关闭保存、插⼊⽂本或新建⾏、移动光标、删除、恢复字符或⾏、搜索等等,算是⼀篇⽐较适合新⼿学习vi的教程。
vi有3个模式:插⼊模式、命令模式、低⾏模式。
●插⼊模式:在此模式下可以输⼊字符,按ESC将回到命令模式。
●命令模式:可以移动光标、删除字符等。
●低⾏模式:可以保存⽂件、退出vi、设置vi、查找等功能(低⾏模式也可以看作是命令模式⾥的)。
1、VI或VIM的配置⽂件的路径 发现/usr/share/vim/vimrc和/etc/vim/vimrc指向是同⼀个⽂件,即vimrc,为vi和vim的配置⽂件,修改这个⽂件即可。
这个路径在不同的LINUX版本中可能会不同。
2、配置颜⾊ 配置VI和VIM的颜⾊显⽰,使它能够⾼亮度显⽰⼀些特别的单词,这对编写程序很有⽤。
后来打开⽂件发现⾥⾯其实已经有⼀⾏了,只是⽤引号注释掉了,只需将syntax on 所在⾏前⾯的引号去掉即可。
或者另外独⽴添加⼀⾏:syntax on 也⾏,另外编辑/etc/profile 增加⼀⾏alias vi="vim"就⾏了。
3、设置⿏标 使⽤VI编辑⽂本时,如果想修⽂件中改离光标较远的位置,这时候想⽤⿏标定位,可默认情况下,⿏标是不可⽤的。
如果你想使⽤⿏标,只需另起⼀⾏,写上:set mouse=a 即可 4、设置⾃动缩进 默认情况下,VI和VIM都没有缩进的,每换⼀⾏,光标均定位在顶格,如果你想⾃动对齐,请将 set autoindent所在⾏前⾯的引号去掉,或者另外添加⼀⾏:set autoindent也可。
Linux中vim详解1.什么是vim? Vim 是⼀个⽂本编辑器。
代码补全、编译及错误跳转等⽅便编程的功能特别丰富,在程序员中被⼴泛使⽤。
vim 具有程序编辑的能⼒,可以主动的以字体颜⾊辨别语法的正确性,⽅便程序设计 vim 可以说是程序开发者的⼀项很好⽤的⼯具。
2.vim键盘图3.vim的使⽤命令模式(Command mode)⽤户刚刚启动 vim,便进⼊了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,⽽⾮输⼊字符。
⽐如我们此时按下a/i,并不会输⼊⼀个字符,i被当作了⼀个命令。
以下是常⽤的⼏个命令:a/i 切换到输⼊模式,以输⼊字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底⼀⾏输⼊命令。
若想要编辑⽂本:启动Vim,进⼊了命令模式,按下i/a,切换到输⼊模式。
命令模式只有⼀些最基本的命令,因此仍要依靠底线命令模式输⼊更多命令。
输⼊模式(Insert mode)在命令模式下按下i/a就进⼊了输⼊模式。
在输⼊模式中,可以使⽤以下按键:字符按键以及Shift组合,输⼊字符ENTER,回车键,换⾏BACK SPACE,退格键,删除光标前⼀个字符DEL,删除键,删除光标后⼀个字符⽅向键,在⽂本中移动光标HOME/END,移动光标到⾏⾸/⾏尾Page Up/Page Down,上/下翻页Insert,切换光标为输⼊/替换模式,光标将变成竖线/下划线ESC,退出输⼊模式,切换到命令模式底线命令模式(Last line mode)在命令模式下按下:(英⽂冒号)就进⼊了底线命令模式。
底线命令模式可以输⼊单个或多个字符的命令,可⽤的命令⾮常多。
在底线命令模式中,基本的命令有(已经省略了冒号):q 退出程序w 保存⽂件! 不保存⽂件按ESC键可随时退出底线命令模式。
4.vim使⽤实例存在的⽂件: vim/vi +filename进⼊⼀般模式直接输⼊ vim/vi ⽂件名就能够进⼊ vim 的⼀般模式了。
在Linux中,Vim是一个功能强大的文本编辑器,具有多种用法和操作方式。
以下是一些常用的Vim用法:
打开文件:在终端中输入“vim 文件名”即可打开一个Vim编辑器窗口,并加载指定的文件。
如果文件不存在,则会创建一个新文件。
进入插入模式:在命令模式下,按下字母“i”键即可进入插入模式,此时可以输入文本内容。
退出插入模式:在插入模式下,按下Esc键即可退出插入模式,返回到命令模式。
移动光标:在命令模式下,使用方向键或“h”、“j”、“k”、“l”命令来移动光标的位置。
删除文本:在命令模式下,使用“x”或“d”命令来删除一个字符或一行文本。
复制和粘贴文本:在命令模式下,使用“yy”命令来复制一行文本,使用“p”命令来粘贴文本到光标所在位置之后。
查找和替换文本:在命令模式下,使用“/”命令来查找一个字符串,使用“:%s/替换前的字符/替换后的字符/g”命令来替换文本中的内容。
保存文件:在命令模式下,输入“:w”命令来保存文件。
退出Vim:在命令模式下,输入“:q”命令来退出Vim编辑器。
如果文件未保存,则会提示是否保存文件。
Linux开发入门必读书单推荐给新手的经典书籍Linux操作系统作为一款开源的操作系统,越来越受到广大开发者的青睐。
对于想要从事Linux开发的新手来说,掌握一些经典的Linux开发技术是非常重要的。
下面是一份推荐给Linux开发新手的必读书单,这些经典书籍将帮助你打下坚实的基础,提升自己的技术水平。
1.《鸟哥的Linux私房菜》这本书是很多Linux爱好者的入门圣经。
作者详细介绍了Linux的基础知识、常用命令、系统管理和网络配置等内容。
通过学习这本书,你可以全面了解Linux的基本概念和用法,为后续学习打下坚实的基础。
2.《Linux内核设计与实现》Linux内核是Linux操作系统的核心,学习Linux内核的设计与实现对于深入理解Linux系统非常重要。
本书由著名的操作系统专家Robert Love撰写,详细介绍了Linux内核的基本结构、进程管理、内存管理、文件系统等内容。
通过深入学习内核原理,你将能够更好地理解Linux系统的运行机制。
3.《UNIX网络编程》网络编程是Linux开发中的关键技术之一。
这本经典著作由W. Richard Stevens所著,介绍了UNIX环境下网络编程的基本概念、套接字编程等内容。
通过学习这本书,你将深入了解网络编程的原理和实践技巧,为开发网络应用程序打下基础。
4.《Linux设备驱动程序》对于想要从事Linux设备驱动开发的新手来说,《Linux设备驱动程序》是一本不可或缺的书籍。
作者Jonathan Corbet、Alessandro Rubini和Greg Kroah-Hartman结合实际案例,详细介绍了Linux设备驱动的开发过程和驱动程序框架。
通过学习这本书,你将能够掌握Linux 设备驱动开发的核心技术。
5.《Linux性能优化指南》Linux性能优化是提高系统性能的重要手段。
这本书由Brendan Gregg和Jim Mauro合著,介绍了Linux性能调优的基本原理、工具和技术。
前 言 在Linux的学习过程中,最怕的就是自上而下的学习方式,例如为了架站,才去认识RPM或Tarball这些套件管理员;为了修改文件,才去了解vi文本编辑器。这样的学习方式有点类似头痛医头、脚痛医脚的治标学习,或许这种服务器您会架设了,但是到了其他服务器,又得将刚刚的学习步骤从头来一次,并且容易丢三落四,对于Linux新手来说,这很让人困扰。笔者以最近这几年的摸索经验,将平时的实践过程记录于“鸟哥的私房菜”网站,借着这个机会,提笔将原先网站上的数据更完整更系统地连贯起来,将Linux基础学习的历程与可能发生的错误写下来,希望能够为大家提供一个学习时的参考依据。 在本书中,第一篇主要介绍安装部分。安装Linux很容易,但是安装一套适合自己的Linux主机则不是这么简单!这包括安装前的规划与为主机未来的扩充预留空间,等等,这里我们将详细介绍整体安装的规划流程。 第二篇主要介绍Linux的基本文件权限与架构。关于文件权限及群组的概念,这部分内容对于用惯了Windows的朋友来说,或许不是很好学习,但这是进入Linux的第一门课,尤其对于安全架构上的规范与设定,更需要好好了解。 第三篇介绍相当重要的Shell与Shell scripts的基本内容,这是所有文字界面操控主机的基础,尤其在指令的输入、为何需要设定变量、正规表示法的使用及数据流重定向与管线命令等,想要对主机有更多认识并更轻松地管理你的Linux主机,那么要认真学习本篇。 第四篇着重介绍Linux中用户的权力,包括账号的管理、人员的硬盘空间限制与用户的例行性工作流程介绍等。 第五篇则注重于系统管理员的管理阶层,诸如套件管理员RPM与Tarball的使用说明、核心的重新编译过程、开机关机与多重启动的设定技巧、系统登录文件的分析与追踪,还有X-Window的基本设定及最麻烦的网络参数设定细节,等等,这些都是一个好的系统管理员所必备的基础知识。 这本书从开始编写到其出版,要感谢很多人,除了让我有机会接触到Linux的恩师吴义林教授之外,再有就是要感谢netman大哥在笔者学习Linux的历程中的扶持,如果没有netman大哥领导的Study Area团队的教导,自然不会有“鸟哥的私房菜”网站的诞生。还要感谢在台南地区TnLUG的同事们的无私奉献,例如梁枫、Jerry Wu、蔡老板等好朋友,以及酷学园学群里的诸位学长,如ZMAN、duncan、逸尘等,还有很多不及备载的朋友,感谢你们!此外,在笔者自家的讨论区里,还要特别感谢diego、wilsonmau、Harry及浅仓中等版主们的辛劳贡献。当然,也很感谢广大的网友的支持与鼓励,谢谢你们!此外,在编写本书的过程中,感谢玉南与士杰的全力支持,更要感谢我亲爱的家人,尤其是女朋友慧真,虽然你常说可能以后会做计算机寡妇,但我知道你是支持我的。
vivim编辑器使⽤⽅法详解vi编辑器是所有Unix及系统下标准的编辑器,他就相当于系统中的记事本⼀样,它的强⼤不逊⾊于任何最新的⽂本编辑器。
他是我们使⽤系统不能缺少的⼯具。
由于对Unix及系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界⾥畅⾏⽆阻。
vim 具有程序编辑的能⼒,可以以字体颜⾊辨别语法的正确性,⽅便程序设计;vim可以当作vi的升级版本,他可以⽤多种颜⾊的⽅式来显⽰⼀些特殊的信息。
vim会依据⽂件扩展名或者是⽂件内的开头信息,判断该⽂件的内容⽽⾃动的执⾏该程序的语法判断式,再以颜⾊来显⽰程序代码与⼀般信息。
vim⾥⾯加⼊了很多额外的功能,例如⽀持正则表达式的搜索、多⽂件编辑、块复制等等。
这对于我们在Linux上进⾏⼀些配置⽂件的修改⼯作时是很棒的功能。
1.vi/vim是什么? ①vi是Visual Interface的缩写,即可视化接⼝ ②vim是vi iMprove的缩写,即 vi的增强版(具有语法着⾊功能)2.vim模式有哪些?如何切换? ①三种模式 命令模式(默认):刚进⼊vim的时候,默认就是命令模式,可以复制⾏,删除⾏等。
输⼊模式:可以输⼊内容。
末⾏模式:在最下边,除编辑模式,可以输⼊诸多管理员命令 ②模式转换 命令模式→输⼊模式: i:在当前光标所在字符的前⾯,转为输⼊模式 I:在当前光标所在⾏的⾏⾸转换为输⼊模式 a:在当前光标所在字符的后⾯,转为输⼊模式 A:在光标所在⾏的⾏尾,转换为输⼊模式 o:在当前光标所在⾏的下⽅,新建⼀⾏,并转为输⼊模式 O:在当前光标所在⾏的上⽅,新建⼀⾏,并转为输⼊模式 s:删除光标所在字符 r:替换光标处字符 输⼊模式→命令模式 ESC键 命令模式→末⾏模式 输⼊:即可转为末⾏模式 在末⾏模式下 10d:可删除第10⾏ 10,20d:删除10-20⾏ set nu:显⽰⾏号 !命令:可以执⾏bash命令末⾏模式-操作 末⾏模式→命令模式 ESC键 3.使⽤vim如何打开⽂件? ① vim /path/to/somefile :vim后跟⽂件路径及⽂件名,如果⽂件存在,则打开编辑⽂件窗⼝,如果⽂件不存在,则创建⽂件 [root@libaoliang ~]# vim /etc/inittab ② vim + # :打开⽂件,并定位到第#⾏,#代表数字 [root@libaoliang ~]# vim +3 /etc/inittab ③ vim + :打开⽂件,定位到最后⼀⾏ [root@libaoliang ~]# vim + /etc/inittab ④ vim +/PATTERN:打开⽂件,定位到第⼀次被PATTERN匹配到的⾏的⾏⾸ [root@libaoliang ~]# vim +/start /etc/inittab4.关闭⽂件 末⾏模式下: w:保存 q:退出 wq 或 x:保存退出,wq 和 x 都是保存退出 q!:强制退出 w!:强制保存,管理员才有权限 命令模式下: ZZ:保存并退出5.移动光标 命令模式下: ①逐字符移动 h:向左 l:向右 j:向下 k:向上 #h:移动#个字符 ②以单词为单位移动 w:移到下⼀个单词的词⾸ e:跳⾄当前或下⼀个单词的词尾 b:跳⾄当前或上⼀个单词的词⾸ #w:表⽰移动#个单词 ③⾏内跳转 0:绝对⾏⾸ ^:⾏⾸第⼀个⾮空⽩字符 $:绝对⾏尾 ④⾏间跳转 #G:跳转到第#⾏ G:最后⼀⾏ 末⾏模式下: ①⾏间跳转 直接输⼊⾏号回车即可6.翻屏: 命令模式下 Ctrl+f:向下翻⼀屏 Ctrl+b:向上翻⼀屏 Ctrl+d:向下翻半屏 Ctrl+u:向上翻半屏 7.删除 命令模式下 ①删除单个字符: x:删除光标所在处单个字符 #x:删除光标所在处及向后共#个字符 ②删除命令:d d命令跟跳转命令组合使⽤如:d w 表⽰删除光标所在位置到下⼀个单词词⾸所有字符 #d w,#d e,#d b :#dw表⽰删除当前光标所在处及向后第#个单词词⾸所有字符 dd:删除当前光标所在⾏ #d d:删除包含当前光标所在⾏内的#⾏ 末⾏模式下:末⾏模式下位置符号StartADD,EndADDd .:表⽰当前⾏ $:最后⼀⾏ +#:向下的#⾏ $-#:向上的#⾏位置符号末⾏模式下,删除命令d可以跟以上位置符号相结合使⽤ StartADD,EndADD d:删除StartADD到EndADDd位置的所有⾏,例如:10,15d:删除10到15⾏所有内容 .d:删除光标所在⾏,同dd8.粘贴命令: p p(⼩写p):如果删除的或复制的为整⾏内容,则粘贴到光标所在⾏的下⽅,如果复制或删除的内容为⾮整⾏,则粘贴⾄光标所在字符的后⾯ P(⼤写P):如果删除的或复制的为整⾏内容,则粘贴到光标所在⾏的上⽅,如果复制或删除的内容为⾮整⾏,则粘贴⾄光标所在字符的前⾯9.复制命令:y ⽤法同d命令 命令模式 yy:复制当前⾏ yw (y#w,ye,y#e,yb,y#b):复制光标当前位置到下个单词词⾸内容.#代表数字 y#G:复制当前位置当#⾏处的所有内容 末⾏模式 StartADD,EndADD y:复制StartADD到EndADDd位置的所有⾏,例如:10,15d:复制10到15⾏所有内容 +3y:复制当前位置向下3⾏10.修改c:先删除内容,在转换为输⼊模式 c:⽤法同d11.替换:r r:单字符替换,会替换光标选中字符 R:替换模式,可以做字符替换。
鸟哥的 Linux 私房菜为取得较佳浏览结果,请爱用firefox 浏览本网页| 繁体主站 | 简体主站 | 基础篇 | 伺服器 | 企业应用 | 桌面应用 | 安全管理 | 讨论板 | 酷学园 | 书籍戡误 | 鸟哥我 | 昆山资传 | 第十章、vim 程式编辑器切换解析度为800x600最近更新日期:2009/08/20系统管理员的重要工作就是得要修改与设定某些重要软体的设定档,因此至少得要学会一种以上的文字介面的文书编辑器。
在所有的Linux distributions 上头都会有的一套文书编辑器就是vi ,而且很多软体预设也是使用vi 做为他们编辑的介面,因此鸟哥建议您务必要学会使用vi 这个正规的文书编辑器。
此外,vim 是进阶版的vi , vim 不但可以用不同颜色显示文字内容,还能够进行诸如shell script, C program 等程式编辑功能, 你可以将vim 视为一种程式编辑器!鸟哥也是用vim 编辑鸟站的网页文章呢!^_^1. vi与vim 1.1 为何要学vim2. vi的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案例的练习 2.4 vim的暂存档、救援回复与开启时的警告讯息3. vim的额外功能 3.1 区块选择(Visual Block) 3.2 多档案编辑 3.3 多视窗功能 3.4 vim环境设定与记录: ~/.vimrc, ~/.viminfo 3.5 vim常用指令示意图4. 其他vim使用注意事项 4.1 中文编码的问题 4.2 DOS与Linux的断行字元:dos2unix , unix2dos 4.3 语系编码转换:iconv5. 重点回顾6. 本章习题7. 参考资料与延伸阅读8. 针对本文的建议:/viewtopic.php ?t=23883vi 与vim由前面一路走来,我们一直建议使用文字模式来处理Linux的系统设定问题,因为不但可以让你比较容易了解到Linux的运作状况,也比较容易了解整个设定的基本精神,更能『保证』你的修改可以顺利的被运作。
所以,在Linux的系统中使用文字编辑器来编辑你的Linux参数设定档,可是一件很重要的事情呦!也因此呢,系统管理员至少应该要熟悉一种文书处理器的!Tips:这里要再次的强调,不同的Linux distribution各有其不同的附加 软体,例如RedHat Enterprise Linux与Fedora的ntsysv与setup等,而SuSE则有YAST管理工具等等,因此,如果你只会使用此种类型的软体来控制你的Linux系统时,当接管不同的Linux distributions时,呵呵!那可就苦恼了!在Linux 的世界中,绝大部分的设定档都是以ASCII 的纯文字形态存在,因此利用简单的文字编辑软体就能够修改设定了!与微软的Windows 系统不同的是,如果你用惯了Microsoft Word 或Corel Wordperfect的话,那么除了X window 里面的图形介面编辑程式(如xemacs )用起来尚可应付外,在Linux 的文字模式下,会觉得文书编辑程式都没有视窗介面来的直观与方便。
Tips:什么是纯文字档?在第零章里面的资料表示方式有较多说明,请自行查阅。
ASCII就是其中一种广为使用的文字编码系统,在ASCII系统中的图示与代码可以参考/wiki/ASCII 呢!那么Linux在文字介面下的文书编辑器有哪些呢?其实有非常多喔!常常听到的就有: emacs , pico , nano , joe ,与vim 等等( 注1 )。
既然有这么多文字介面的文书编辑器,那么我们为什么一定要学vi啊?还有那个vim是做啥用的?底下就来谈一谈先!为何要学vim文书编辑器那么多,我们之前在第五章也曾经介绍过那简单好用的 nano ,既然已经学会了nano ,干嘛鸟哥还一直要你学这不是很友善的vi呢?其实是有原因的啦!因为:所有的Unix Like 系统都会内建vi 文书编辑器,其他的文书编辑器则不一定会存在;其实档案记录的就是0与1 ,而我们透过编码系统来将这些0与1转成我们认识的文字就是了。
原文其實檔案記錄的就是0 與1 ,而我們透過編碼系統來將這些0 與1 轉成我們認識的文字就是了。
提供更好的翻译建议很多个别软体的编辑介面都会主动呼叫vi (例如未来会谈到的crontab , visudo , edquota等指令);vim 具有程式编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程式设计;因为程式简单,编辑速度相当快速。
其实重点是上述的第二点,因为有太多Linux 上面的指令都预设使用vi 作为资料编辑的介面,所以你必须、一定要学会vi ,否则很多指令你根本就无法操作呢!这样说,有刺激到你务必要学会vi 的热情了吗?^_^那么什么是vim呢?其实你可以将vim视作vi的进阶版本,vim可以用颜色或底线等方式来显示一些特殊的资讯。
举例来说,当你使用vim去编辑一个C程式语言的档案,或者是我们后续会谈到的 shell script程式时,vim会依据档案的副档名或者是档案内的开头资讯,判断该档案的内容而自动的呼叫该程式的语法判断式,再以颜色来显示程式码与一般资讯。
也就是说,这个vim是个『程式编辑器』啦!甚至一些Linux基础设定档内的语法,都能够用vim来检查呢!例如我们在第八章谈到的/etc/fstab这个档案的内容。
简单的来说, vi是老式的文书处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
vim 则可以说是程式开发者的一项很好用的工具,就连vim的官方网站( )自己也说vim 是一个『程式开发工具』而不是文书处理软体~^_^。
因为vim里面加入了很多额外的功能,例如支援正规表示法的搜寻架构、多档案编辑、区块复制等等。
这对于我们在Linux上面进行一些设定档的修订工作时,是很棒的一项功能呢!Tips:什么时候会使用到vim呢?其实鸟哥的整个网站都是在vim的环境下一字一字的建立起来的喔!早期鸟哥使用网页制作软体在编写网页,但是老是发现网页编辑软体都不怎么友善,尤其是写到PHP方面的程式码时。
后来就干脆不使用所见即所得的编辑软体,直接使用vim ,然后标签(tag)也都自行用键盘输入!这样整个档案也比较干净!所以说,鸟哥我是很喜欢vim的啦!^_^底下鸟哥会先就简单的vi 做个介绍,然后再跟大家报告一下vim 的额外功能与用法呢!vi 的使用基本上vi共分为三种模式,分别是『一般模式』、『编辑模式』与『指令列命令模式』。
这三种模式的作用分别是:一般模式:以vi打开一个档案就直接进入一般模式了(这是预设的模式)。
在这个模式中,你可以使用『上下左右』按键来移动游标,你可以使用『删除字元』或『删除整行』来处理档案内容,也可以使用『复制、贴上』来处理你的文件资料。
编辑模式:在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的!要等到你按下『i,I,o,O,a,A,r,R』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或REPLACE』的字样,此时才可以进行编辑。
而如果要回到一般模式时,则必须要按下『Esc』这个按键即可退出编辑模式。
指令列命令模式:在一般模式当中,输入『 : / ?』三个中的任何一个按钮,就可以将游标移动到最底下那一行。
在这个模式当中,可以提供你『搜寻资料』的动作,而读取、存档、大量取代字元、离开vi 、显示行号等等的动作则是在此模式中达成的!简单的说,我们可以将这三个模式想成底下的图示来表示:图2.1、vi 三种模式的相互关系注意到上面的图示,你会发现一般模式可与编辑模式及指令列模式切换,但编辑模式与指令列模式之间不可互相切换喔!这非常重要啦!闲话不多说,我们底下以一个简单的例子来进行说明吧!简易执行范例如果你想要使用vi 来建立一个名为test.txt 的档案时,你可以这样做:1. 使用vi 进入一般模式;[r o o t@w w w~]#v i t e s t.t x t直接输入『 vi 档名』就能够进入vi 的一般模式了。
请注意,记得vi 后面一定要加档名,不管该档名存在与否!整个画面主要分为两部份,上半部与最底下一行两者可以视为独立的。
如下图2.1.1 所示,图中那个虚线是不存在的, 鸟哥用来说明而已啦!上半部显示的是档案的实际内容,最底下一行则是状态显示列(如下图的[New File]资讯), 或者是命令下达列喔!图2.1.1、用vi 开启一个新档案如果你开启的档案是旧档(已经存在的档案),则可能会出现如下的资讯:图2.1.2、用vi 开启一个旧档案如上图2.1.2 所示,箭头所指的那个『"/etc/man.config" 141L, 4617C』代表的是『档名为/etc/man.conf, 档案内有141 行以及具有4617 个字元』的意思!那一行的内容并不是在档案内,而是vi 显示一些资讯的地方喔!此时是在一般模式的环境下啦。
接下来开始来输入吧!2. 按下i进入编辑模式,开始编辑文字在一般模式之中,只要按下i, o, a等字元就可以进入编辑模式了!在编辑模式当中,你可以发现在左下角状态列中会出现–INSERT-的字样,那就是可以输入任意字元的提示啰!这个时候,键盘上除了[Esc]这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑啰!图2.1.3、开始用vi 来进行编辑Tips:在vi里面, [tab]这个按钮所得到的结果与空白字元所得到的结果是不一样的,特别强调一下!3. 按下[ESC]按钮回到一般模式好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下[Esc]这个按钮即可!马上你就会发现画面左下角的– INSERT –不见了!4. 在一般模式中按下:wq储存后离开viOK,我们要存档了,存档并离开的指令很简单,输入『:wq』即可存档离开!(注意了,按下:该游标就会移动到最底下一行去!)这时你在提示字元后面输入『 ls -l 』即可看到我们刚刚建立的test.txt档案啦!整个图示有点像底下这样:图2.1.4、储存并离开vi 环境如此一来,你的档案test.txt就已经建立起来啰!需要注意的是,如果你的档案权限不对,例如为-r--r--r--时,那么可能会无法写入,此时可以使用『强制写入』的方式吗?可以!使用『:wq!』多加一个惊叹号即可!不过,需要特别注意呦!那个是在『你的权限可以改变』的情况下才能成立的!关于权限的概念,请自行回去翻一下第六章的内容吧!按键说明除了 上面简易范例的i, [Esc], :wq之外,其实vim还有非常多的按键可以使用喔!在介绍之前还是要再次强调, vim的三种模式只有一般模式可以与编辑、指令列模式切换,编辑模式与指令列模式之间并不能切换的!这点在图2.1里面有介绍到,注意去看看喔!底下就来谈谈vim软体中会用到的按键功能吧!第一部份:一般模式可用的按钮说明,游标移动、复制贴上、搜寻取代等移动游标的方法h或向左方向键(←)游标向左移动一个字元j或向下方向键(↓)游标向下移动一个字元k或向上方向键(↑)游标向上移动一个字元l或向右方向键(→)游标向右移动一个字元如果你将右手放在键盘上的话,你会发现h j k l 是排列在一起的,因此可以使用这四个按钮来移动游标。