vi编辑器的使用

###vi(vim)简介
vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。下面是vi的使用教程:包含vi的基本介绍、使用模式、文件的打开关闭保存、插入文本或新建行、移动光标、删除、恢复字符或行、搜索等等,算是一篇比较适合新手学习vi的教程。

##vim编辑器的三种模式

命令模式

在该模式中,可以输入命令来执行许多种功能。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

输入模式

vim被运行时,通常处在命令模式下,键入以下命令 可以使vim退出命令模式,进入输入模式:I(i)、A(a)、O(o)。

末行模式

将文件保存或退出vim,也可以设置编辑环境,如寻找字符串、列出行号……等。不过一般我们在使用时把vim简化成两个模式,就是将末行模式(last line mode)也算入命令行模式command mode)。

vim编辑器的启动与退出

1. vim的启动

  输入vim命令后,便进入全屏幕编辑环境,此时的状态为命令模式。

(1) vim

  进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。

(2) vim file1

  如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。

(3) vim + file1

  如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件最后1行第1列的位置上。

(4) vim +N file1(N:为数字)

  如果file1文件不存在,将建立此文件;如该文件存在,则将其拷贝到一个临时缓冲区。光标定位在文件第N行第1列的位置上。

(5) vim +/string file1

  如果file1文件不存在将建立此文件;如该文件存在则将其拷贝到一个临时缓冲区。光标定位在文件中第一次出现字符串string的行首位置。

2. 退出vim(末行模式(last line mode))

  建议在退出vim前,先按ESC键,以确保当前vim的状态为命令方式,然后再键入“:”(冒号),输入下列命令,退出vi。

##### (1) :w

  将编辑缓冲区的内容写入文件,则新的内容就替代了原始文件。这时并没有退出vim,必须进一步输入下述命令才能退出vi:

  :w filename(存入指定文件)

  :q

#####  (2) :wq

  即将上面的两步操作可以合成一步来完成,先执行w,后执行q。

#####  (3) :x和ZZ(注意: ZZ前面没有“:”)

  功能与(2)等价。

#####  (4) :q!(或:quit)

  强行退出vim,使被更新的内容不写回文件中。仅键入命令:q时,如vim发现文本内容已被更改,将提示用户使用“:quit”命令退出。

###vim编辑器常用命令

  • 1、在文件中移动光标

      h:向左移动一个字符

      l:向右移动一个字符

      j:向下移动一行

      k:向上移动一行

      ^(即Shift+6):移动到当前行的开头处

      $(即Shift+4):移动到当前行的结尾处

      H(大写):使光标移动到屏幕的顶部

      M(大写):使光标移动到屏幕的中间

      L(大写):使光标移动到屏幕的底部

      Ctrl+b:上滚一屏。

      Ctrl+f:下滚一屏。

      Ctrl+d:下滚半屏。

      Ctrl+u: 上滚半屏。

  • 2、插入文本

  (1)添加:

    输入a后,在光标的右边插入文本

   输入A,在一行的结尾处添加文本

  (2)插入:

   通过在命令模式下输入i,在光标的左边插入文本

   通过在命令模式下输入I,在行首插入文本

  (3)插入新行:

   输入o,在当前光标位置下面打开一行

   输入O,在当前光标位置上面打开一行    

  • 3、撤消更改

   (1)撤消前一个命令:在最后一个命令之后立即输入u来撤消该命令

   (2)重复某个命令:“.”

   (3)撤消对一行的更改:输入U来撤消你对一行所做的所有更改,这个命令只有在你没将光标移动到该行以外时才生效。

  • 4、删除文本

   (1)删除一个字符:

   为删除一个字符,需将光标放置在要删除的字符上并输入x

  为删除光标之前(其左边)的一个字符,需输入X

  (2)删除一个词或词的部分内容:

   为删除一个词,需将光标放置到该词的开头并输入dw

   为删除词的部分内容,需将光标放置到该词要保存部分的右边。输入dw来删除该词余下的部分

  (3)删除一行:将光标放置到该行的任意处并输入dd

  (4)删除多行:ndd

  (5)删除行的部分内容:将光标放置到该行要保存部分的右边,并输入D。为删除光标左边的所有内容,须将光标放置到该行要删除部分的右边,并输入d0(d-零)。

  (6)删除到文件的结尾:为删除从当前行到文件结尾的所有内容,需输入dG

  • 5、复制和移动文本

   复制一行命令:yy

   粘贴命令:p

   移动文本:先将要移动的部分用删除命令删除,然后再粘贴就可以了

   复制指定文件的内容

  : r filename
  • 6、查找一个字符串

   输入/,并在/后面输入要查找的串,然后按下回车

   输入“n”跳转到该串的下一个出现处

   输入“N”跳转到该串的上一个出现处

  • 7、替换一个字符串

   在一行内替换头一个字符串old为新的字符串new

  :s/old/new

   在一行内替换所有的字符串old为新的字符串new

  :s/old/new/g

  在两行内替换所有的字符串old为新的字符串new

  :#,#s/old/new/g

   在文件内替换所有的字符串old为新的字符串new

  :%s/old/new/g

   进行全文替换时询问用户确认每个替换需添加c选项

  :%s/old/new/gc
  • 8、设置vim

   显示行号

  :set number

   取消行号显示

  :set nonumber

   设置显示用户模式

  :set showmode

   设置文件只读

   :set readonly                

 登录步骤

login : _______ > 输入 username
password : _______ > 输入密码

登出步骤

% logout 或 % exit 或 % 或按[Ctrl-D]

更改帐号密码

passwd > 执行后将会出现下列信息 Changing NIS password for user on ice.

 Old password: ______ > 输入旧密码

 New password: ______ > 输入新密码(最好6-8字,英文字母与数字混合)

Retype new password: ______ > 再输入一次密码