linux 强大的编辑器之vi

简介:

   vi编辑器是一个处理ASCII数据的文本工具。大多数linux发行版都已经默认安装了vi编辑器。vi是visual interface的缩写vim是 visual interface improved即增强版的vi,vim默认支持代码命令加亮,这样使得文本更易看懂。vi有两种配置文件一种是全局配置文件 /etc/vimrc,全局配置文件的设置对所有用户都生效。另一种是用户配置文件,这个配置文件需要自己手动去创建,如 touch ~/.vimrc,创建在用户家目录,并把它创建为隐藏文件,在这里的设置,只针对当前用户自己生效。


1、vi的模式和模式之间的转换

vi有三种模式,命令模式(command mode)也叫编辑模式、插入模式(Insert mode)和底行模式(last line mode)也叫末行模式,各个模式之间的关系如下图所示:

vi默认打开就是编辑模式,编辑模式是不能对文本进行任何写操作的。

(1)编辑模式---->输入模式:可以如下操作

直接键入  i: insert,实现在当前光标所在处转换为输入模式

          I: 在当前光标所在行的行首转为输入模式

          a:append,实现在当前光标所在处字符后面转换为输入模式

          A:在当前光标所在行的行尾转为输入模式

          o:实现在当前光标所在行的下方新建一个空白行并转换为输入模式

          O:在当前光标所在行的上方新建一行,并转化为输入模式

(2)输入模式----->编辑模式:

   按键盘的Esc键

(3)编辑模式----->末行模式

  键入 :

(4)末行模式----->编辑模式

 连续按两下Esc键

2、编辑模式进行的操作

(1)光标的跳转:

a)光标在字符间跳转

    h:左  #h 向左侧跳#个字符

    l:右

    j:下

    k:上

b)光标在单词间跳转

    w:后一个单词的词首

    e:跳至当前或下一个单词词尾

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

c)光标在句子间跳转

    ):下一句

    (:前一句

d)光标在段落间跳转

    }:下一段

    {:前一段

e)光标在行间跳转:

   1G,gg:跳到行首

    G:行尾

    #G:第n行,#表示行数

f)光标在行内跳转:

    ^:行首的第一个非空白字符

    $:绝对行尾

    0:绝对行首

(2)翻屏操作

   ctrl+f:向文件尾部翻一屏相当于Pagedown操作

   ctrl+b:向文件首部翻一屏相对于Pageup操作

   ctrl+d:向文件尾部翻半屏

   ctrl+u:向文件首部翻半屏

(3)复制操作,也叫y(yank)操作

    yy:表示复制光标所在行

   #yy:表示复制包括光标所在行及以下#行,#表示数字

    y$:表示复制光标所在处至行尾

    y^:表示复制光标所在处至行首

(4)粘贴操作,也叫p(paste ,put)操作 

  复制的是整行:

    p: 在当前光标所在行的下方粘贴;

    P:在当前光标所在行的上方粘贴

 复制的不是整行:

   p: 在当前光标所在处字符的后方粘贴;

   P:在当前光标所在处字符的前方粘贴;

(5)删除操作,(x,d)

    x:删除光标后面的单个字符

   #x:删除光标后面的#个字符,#表示数字

   dw:删除光标所在的单词

   db:删除光标所在处之前的单词

   de:删除光标所在处之后的单词

   d^:删除光标所在之前的所有字符单词

   d$:删除光标所在之后的所有字符单词

   dd:删除光标所在处的整行

   #dd:删除包含光标处的下面几行,#表示数字

(6)撤销操作

  如果对之前失误操作进行撤销可按u键,撤销之前的操作,默认可以撤回之前的50次操作。当你觉得之前的撤销操作也需要撤销,则按crtl+u键,对撤销进行撤销。

(7)查找操作,直接在编辑模式下输入/或者?,然后接你要查找的字符

/keyword: 从当前光标所在处向文件尾部查找

?keyword:从当前光标所在处向文件首部查找

n: 下一个,跟查找命令相同的方向

N:前一个,跟查找命令相反的方向


3、输入模式进行的操作

  当在编辑模式下键入(i,I,a,A,o,O)后,文件下方会有-- INSERT -- 字样,表示现在处于输入模式,输入模式对输入的任何字符都会直接输入到文件中。


4、末行模式进行的操作

(1)保存退出的操作

  :w  保存

  :q  退出

  :x  保存退出

  :wall 所有的都保存,一般应用在同时打开多个页面

  :qall 所有的都退出,一般应用在同时打开多个页面

  :w!  强制保存

  :q!  强制退出

  :wq!  强制保存退出

  :x!   强制保存退出

(2)删除的操作,在末行模式进行操作可以支持定界

    语法格式  开始行,结束行d

 :. 表示当前光标所在行

 :1 表示第一行

 :# 表示第#行,#表示数字

 :$ 表示最尾行

 :% 表示整个文本

 :1,$d 删除第一行到最后一行

 :.$d 删除当前光标直到最尾行

 :%d 删除整个文本

 :1,+3d 删除第一行和后面的三行,第一行也包括,所以是删除四行

(3)查找操作,查找操作和在编辑模式下的查找操作一样,支持模式匹配

/keyword: 从当前光标所在处向文件尾部查找

?keyword:从当前光标所在处向文件首部查找

n: 下一个,跟查找命令相同的方向

N:前一个,跟查找命令相反的方向

(4)修改替换操作,也支持模式匹配

语法格式

:地址定界s/查找模式/替换成的内容/gi

 /表示分隔符,可以为@、#等特殊容易区别的符合

 g global全局的,i ignore 不区分大小写

eg:

1
2
3
4
5
6
7
8
9
10
删除行首开头的 #:
:%s@^ #@@
删除行首开头的 #及后面紧跟的空白字符;
:%s@^ #[[:space:]]*@@
为空白字符开头的行的行首加上 #;
:%s@^[[:space:]]@ #&@
把down改成up;
:%s@down@up@g
为指定范围内的行的行首添加 #;
:1,10s@^@ #@g

5、窗口属性定义,在末行模式 :(在末行模式直接输入set可以看set的帮助命令),no代表取反的意思

显示行号:

set nu

set nonu

自动缩进:

set autoindent,set ai

set noai

不区分大小写

set ignorecase, set ic

set noic

显示匹配的括号

set showmatch,set sm

set nosm

语法着色

syntax on

syntax off

搜索高亮显示

set hlsearch

set nohlsearch  

可以直接把窗口定义的属性写到vim的配置文件中。


6、vim其它的支持

(1)vim可视化模式

visual模式

    v: 选中光标划过的字符

    V:选中光标划过的行,整行选取

    Esc, Esc:回到编辑模式

(2)同一文档窗口分割:

   Ctrl+w,s: 水平分割      Ctrl+w, 箭头(上下),表示切换

          在末行模式下输入q退出

Ctrl+w,v: 垂直分割      Ctrl+w, 箭头(左右),表示切换

     在末行模式下输入q退出











本文转自 jie783213507 51CTO博客,原文链接:http://blog.51cto.com/litaotao/1251299,如需转载请自行联系原作者
目录
相关文章
|
11月前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
496 1
Linux系统之部署轻量级Markdown文本编辑器
|
6月前
|
Unix Linux 开发工具
Vi 和 Vim 文本编辑器使用指南
Vi 和 Vim 是 Unix/Linux 系统中常用的文本编辑器,Vim 是 Vi 的改进版,增加了语法高亮、多级撤销等功能。它们支持命令模式、插入模式和末行模式,可通过快捷键高效进行文本编辑操作,如移动光标、删除文本、查找替换等。例如,命令模式下“hjkl”分别用于左右上下移动光标,“x”删除字符,“i”进入插入模式输入文本,“:wq”保存并退出。
148 6
|
开发工具
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
|
11月前
|
运维 Java Linux
【运维基础知识】掌握VI编辑器:提升你的Java开发效率
本文详细介绍了VI编辑器的常用命令,包括模式切换、文本编辑、搜索替换及退出操作,帮助Java开发者提高在Linux环境下的编码效率。掌握这些命令,将使你在开发过程中更加得心应手。
131 2
|
11月前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
97 5
|
搜索推荐 Linux 网络安全
Linux系统中的Vim编辑器
【8月更文挑战第21天】Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种基本模式:命令模式,用于执行操作但不能编辑文本;插入模式,允许用户像常规编辑器那样输入文本;底线命令模式,用于保存、退出及查找替换等操作。Vim还支持多窗口编辑、宏录制及插件扩展等功能,并可通过配置文件个性化设置。因其高效性、良好的可移植性和远程编辑能力,Vim特别适用于开发者和系统管理员。
138 1
|
Linux
真香~ Linux vi常用命令汇总!
真香~ Linux vi常用命令汇总!
117 4
|
搜索推荐 Linux 开发工具
|
Linux
Linux中vi的常用命令和快捷键使用
Linux中vi的常用命令和快捷键使用
680 0
|
Linux 开发工具
Linux vim编辑器
Linux vim编辑器
78 0