viim编辑器

   文本:纯文本,ASCII test;

文本编辑种类:

    行编辑器:sed

    全屏编辑器:nano,vi

其他编辑器:

      gedit 一个简单的图形编辑器

      gvim 一个vim编辑器的图形版本      

一.打开文件几种方法

命令格式:

      vim [options] [files]

常用选项:

         +#:打开文件后,直接让光标处于第#行的行首

         +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行

         PATTERB匹配到的行的行首

         vim+file 直接打开file,光标在最后一行

         vim -b file 二进制方式打开文件

         vim -d file1 file2 ... 比较多个文件

         vim -m file 以只读的方式打开文件

         ex file 或 vim -e  直接进入命令行模式


二.2种模式关闭文件方法:

     扩展命令模式:

         :q 退出

         :q! 强制退出,不保存此前的编辑操作

         :wq 保存并退出

         :x 保存并退出

     一般模式:

         ZZ:保存退出

         ZQ:不保存退出


三.模式详解

    三种主要模式:

           一般模式:移动光标,剪切/粘贴文本

           编辑模式:修改文本

           命令模式:保存退出等


一.一般模式

一般模式可用按钮说明,光标移动,复制粘贴,查找替换 

    (1)光标移动

字符间跳转:

h:左 l:右 j:下 k:上 (和左右上下箭头功能一样)

  支持数字跳转: #{h|j|k|l} 跳转由#号指定的个数的字符

单词间移动:可以使用 w,e,b键来进行移动

w:下一个单词词首

e:当前单词或下一个单词词首

b:当前单词或前一个单词词首

#{w|e|b}

屏幕上下移动

ctrl+f 屏幕向下移动一页等于Pagedown按键(常用)

ctrl+b 屏幕向下移动一页等于Pageup按键(常用)

ctrl+d 屏幕向下移动半页 

ctrl+b 屏幕向上移动半页

            H 光标移动到这个屏幕的最上方那一行的第一个字符

M 光标移动到这个屏幕的中央那一行的第一个字符

L 光标移动到这个屏幕的最下方那一行的第一个字符

G 移动到这个文件的最后一行(常用)

nG 移动到这个文件的第n行

gg 移动到这个文件的第一行 相当于1G

n[enter] n为数字,光标向下移动n行

行间移动

0 数字"0" 移动到这一行最前面的字符(常用)

$ 移动到这一行的最后面字符(常用)

    (2)查找与替换

  /word 向下寻找一个名为word的单词

?word 向上寻找一个名为word 的字符串

n     重复前一个查找的操作

N 与n正好相反 "反向"进行前一个查找操作

    (3)删除,复制,粘贴

x,X  x向后删除一个字符 X向前删除一个字符

nx   n为数字,向后删除n个字符

dd   删除光标所在的那一整行(常用)

ndd  n为数字 删除光标所在行的向下n行

d1G  删除光标所在到第一行的所有数据

dG   删除光标所在到最后一行的所有数据

d$   删除光标所在到这一行最后一个字符的所有数据

d0   删除光标所在到这一行第一个字符间的所有数据

yy 复制光标所在的 那一行(常用)

nyy   n为数字,复制光标所在行到向下的n行

y1G 复制光标所在行到第一行的所有数据

yG    复制光标所在行到最后一行的数据

y0 复制光标所在行的字符到行首的所有字符

y$ 复制光标所在行的字符到行尾的所有字符

pP p将一复制的数据在光标下一行粘贴,P则为粘贴到上一行

          J     将光标所在行与下一行的数据结合成同一行

c     重复删除多个数据,例如向下删除向下删除10行

cc    删除当前行并输入新内容

u 复原前一个操作(常用)

ctrl+r 重做上一个操作(常用)

二. 编辑模式

一般模式切换到编辑模式可用的按钮说明

i,I 进入插入模式 i为从目前光标所在处插入,I为在目前所在行的第一个非空格符处开始插入(常用)

a,A 进入插入模式 a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符插入

o,O 进入插入模式 o为字母 o为在目前光标所在的下一行处插入新的一行 O为在目前光标所在处的上一行插入新的一行(常用)

r,R 进入插入模式 r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按下esc键为止(常用)

三. 命令行模式

:w 将编辑的数据写入硬盘文件中(常用)

:w! 若文件为只读时,强制写入该文件

:q  离开vi(常用)

:q! 若曾修改文件又不想保存,用!强制离开

:wq 保存后离开

ZZ 若文件没有改动,不保存离开;若文件有改动,保存离开

:w[filename] 将编辑的文件保存到另一个文件

:r[filename] 在编辑的数据中,读入另一个文件的数据,即将"filename"这个文件内容加到光标所在行的后面

:n1,n2 w[filename] 将n1到n2的内容保存成filename这个文件

:!command 暂时离开vi到命令行模式下执行command的显示结果

命令行模式:对当前vim进程有效

  (1)行号 

:set nu 显示行号,设置之后,会在每一行的 显示该行的行号

:set nonu 与set nu 相反,为取消行号

(2)括号成对匹配

:set showmatch   匹配

:set nosm  取消

(3)自动缩进

:set ai       启用

:set noai  禁用

(4)高亮搜索

:set hlsearch

:set nohlsearch

(5) 语法高亮

:syntax on     启用

:syntax off    禁用

(6)忽略字符的大小写

     :set ic       启用

:set noic     不忽略

  (7)文件格式

:fileformat+unix 启用

:fileformat=dos

(8)设置文本宽度

      :set textwidth=65(vim only)

:set wrapmargin=15