zoukankan      html  css  js  c++  java
  • Linux 文本编辑器 Vim

    Ø  简介

    本文主要记录 Linux 中文本编辑器 Vim 的使用,包括以下内容:

    1.   Vim/Vi 简介

    2.   Vim/Vi 工作模式

    3.   其他命令

    4.   应用实例

     

    1.   Vim/Vi 简介

    Vim/Vi 是一个功能强大的全屏幕文本编辑器,是 Linux/UNIX 上最常用的文本编辑器。它的作用是建立、编辑、显示文本文件。

     

    注意事项:

    1)   Vim/Vi 没有菜单,只有命令;

    2)   在多用户编辑同一个文件时,最后一个用户保存时,如果文件已经被改变的话,会给出提示;

    3)   Vi 文本编辑器有很多的功能,但没必要都去学习,只需学习常用的文本编辑就可以了。

     

    2.   Vim/Vi 工作模式

    1)   命令模式

    命令模式是 vi 编辑进入的默认模式。

    1.   定位命令

    h(左键)

    左移一个字符

    l(右键)

    右移一个字符

    k(上键)

    上移一行

    j(下键)

    下移一行

    0

    移至行首

    $

    移至行尾

    Enter

    移至下行行首

     

     

    H

    移至屏幕上端

    M

    移至屏幕中央

    L

    移至屏幕下端

     

     

    gg

    定位到第一行

    G

    定位到最后一行

    :n ngg nG

    定位到第n

     

    2.   删除命令

    x

    删除光标后的字符

    X

    删除光标前的字符

    nx

    删除光标后的n个字符

     

     

    dd

    删除光标所在行

    ndd

    删除光标后的n

    dG

    删除光标处到文件末尾的内容

    D

    删除从光标所在处到行尾

    :n1,n2d

    删除指定范围的行

     

     

     

    3.   复制和剪切命令

    yyY

    复制当前行

    nyynY

    复制当前行以下n

    dd

    剪切当前行

    ndd

    剪切当前行以下n

    pP

    粘贴在当前光标所在行下或行上

     

     

     

    4.   替换和取消命令

    r

    取代光标所在处字符

    R

    从光标所在处开始替换字符,按 Esc 结束

    s

    删除光标所在字符,并进入插入模式

    S

    删除光标所在行,并进入插入模式

    u

    取消上一步操作(可以取消到文件打开时的状态)

    ctrl + r

    取消后再撤回取消

    U

    取消当前行的所有操作

     

     

     

    5.   搜索和替换命令

    /string

    向前搜索指定字符串。

    搜索时忽略大小写 :set ic

    搜索时匹配大小写 :set noic

    n

    搜索指定字符串的下一个出现的位置,N 搜索上一个出现的位置

    :%s/old/new/g

    全文替换指定字符串,/g表示不确认;/c可以替换前确认

    :n1,n2s/old/new/g

    在一定范围内替换指定字符串,/g表示不确认;/c可以替换前确认

    说明:替换为空字符可以使用::%s/old//g

     

    6.   替换

    r

     

    取代光标所在处字符

    R

    从光标所在处开始替换字符,按 Esc 结束

     

    2)   插入模式

    插入模式用于编辑文件,使用 I 键进入插入模式,此时会在下方出现" -- INSERT -- "的提示;返回命令模式使用 ESC 键。

    1.   插入命令

    i

    在光标前插入文本

    I

    在本行开始插入文本

    a

    在光标后附加文本

    A

    在本行行末附加文本

    o

    在光标下插入新行

    O

    在光标上插入新行

     

    3)   编辑模式

    使用":"键进入编辑模式,编辑模式的常用命令:

    1.   :set number

    设置显示行号,或者 :set nu

    2.   :set nonumber

    取消显示行号,或者 :set nonu

    3.   :q

    退出,或 :q! 强制退出

    4.   :w

    保存,或 :w! 强制保存。也可以另存为,例如::w /tmp/file1

    注意:单独执行 w 命令后后,会创建一个于文件同名的隐藏文件,例如:.plantask

    5.   :wq

    保存并退出(或者使用快捷键ZZ;强制保存退出使用 :wq!,但是只能是文件的所有者,或者管理员 root

    注意:执行 :wq 无论文件是否改变,都会更新文件的修改时间。

    6.   :x

    写入文件并退出,与 :wq 唯一不同的是,只有当文件真的被修改了,才更新文件的修改时间,否不会更新。

    7.   :e!

    放弃所有修改,从上次保存文件开始重新编辑。

    8.   :!

    在编辑模式下执行任何命令。例如:

    :!ifconfig      #在编辑模式下查看IP地址

     

    3.   其他命令

    ctrl + f / b        #向下/向上翻页

    ctrl + e / y        #向下/向上翻滚

     

    4.   应用实例

    1)   导入文件内容

    :r /etc/issue       #导入 issue 文件中的内容到当前文件中(命令模式下)

     

    2)   同时打开多个文件

    vi -o file1 file2   #同时打开两个文件(以垂直方向上下显示)

    vi -O file1 file2   #同时打开两个文件(以水平方向左右显示,但是不行?)

    说明:使用 ctrl + ww 切换编辑的文件。

     

    3)   Vi 中执行命令,格式::!命令,示例:

    :!ls -l /learn/services     # vi 中执行命令

    :r !date            #导入命令执行结果

     

    4)   定义快捷键,格式::map 快捷键 触发命令,示例:

    :map ^P I#<ESC>     #定义快捷键 Ctrl + p 在行首添加注释(#)

    :map ^B 0x          #定义快捷键 Ctrl + b 删除行首的第一个字符(可以用于取消注释)

    :map ^E iabeam@mdingdang.com    #定义快捷键 Ctrl + e 在光标处插入邮箱

    注意:定义快捷键(如:^P)使用 Ctrl + v + p 来完成输入。

     

    5)   连续行注释

    :7,11s/^/#/g       #7~11行的行首添加注释(#)

    :7,11s/#//g        #7~11行中替换所有的#

    :7,11s/^#//g       #7~11行中取消注释

    :1,5s/^////g     #1~5行中添加 // 的注释,使用""转义符

     

    6)   替换

    :ab mymail abeam@mdingdang.com  #输入 mymail + (空格或回车),自动替换为 abeam@mdingdang.com

    :unab mymail    #取消 mymail 替换

     

    7)   配置 vi 配置文件 .vimrc

    配置 .vimrc 文件后 vi 配置适用于所有文件;

    该文件位于每个用户的 home 目录下,默认是不存在的,需要单独创建。

    [root@localhost ~]# vi /root/.vimrc

    编辑配置内容,例如:

    set nu

    map ^P I#<ESC>

    map ^B 0x

    ab mymail abeam@mdingdang.com

  • 相关阅读:
    asp.net jquery+ajax异步刷新1
    Android自定义组合控件:UIScrollLayout(支持界面滑动及左右菜单滑动)
    南京三星面试准备1--字符串
    如何有效的设立目标
    MySQL 主主复制
    POJ 2914 Minimum Cut 最小割算法题解
    openstack中虚拟机怎么与物理机通信
    SpringMVC+Spring+Mybatis+Mysql项目搭建
    Android面试准备 第二天 第五例 数据存储
    COCOS2D-X 3.0在MAC下创建新IOS项目:
  • 原文地址:https://www.cnblogs.com/abeam/p/15415593.html
Copyright © 2011-2022 走看看