• 新手指南: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也可。这与配置颜色类似。这样的设置的结果是按回车后新行与上一行自动对齐。

      5、设置tab的缩进量

      如果用python编写程序,那么行缩进量是一个极其重要的概念,同一个块的缩进量必须相同。你可能喜欢在行前加空格来表示缩进,但每次必须敲多次空格键,如果你喜欢用按TAB键来表示缩进,你可能觉得写的文本或程序不太好看,因为默认情况下,VI和VIM的TAB缩进量比较大(至少六,七个字符)。设置TAB键缩进量的方法:set shiftwidth=3 你也可以选一 个你自己喜欢的缩进量,比如2,或4。

      其他方便的技巧

      1、vi的基本概念

      基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

      1) 命令行模式command mode)

      控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

      2) 插入模式(Insert mode)

      只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

      3) 底行模式(last line mode)

      将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

      不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

      2、vi的基本操作

      a) 进入vi

      在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

      $ vi myfile

      不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!

      b) 切换至插入模式(Insert mode)编辑文件

      在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

      c) Insert 的切换

      您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

      d) 退出vi及保存文件

      在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

      : w filename (输入 「w filename」将文章以指定的文件名filename保存)

      : wq (输入「wq」,存盘并退出vi)

      : q! (输入q!, 不存盘强制退出vi)

      3、命令行模式(command mode)功能键

      1). 插入模式

      按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

      按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

      按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

      2). 从插入模式切换为命令行模式

      按「ESC」键。

    一、打开文件、保存、关闭文件(vi命令模式下使用)

    vi filename //打开filename文件

    :w //保存文件

    :w vpser.net //保存至vpser.net文件

    :q //退出编辑器,如果文件已修改请使用下面的命令

    :q! //退出编辑器,且不保存

    :wq //退出编辑器,且保存文件

    二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

    a //在当前光标位置的右边添加文本

    i //在当前光标位置的左边添加文本

    A //在当前行的末尾位置添加文本

    I //在当前行的开始处添加文本(非空字符的行首)

    O //在当前行的上面新建一行

    o //在当前行的下面新建一行

    R //替换(覆盖)当前光标位置及后面的若干文本

    J //合并光标所在行及下一行为一行(依然在命令模式)

    三、移动光标(vi命令模式下使用)

    1、使用上下左右方向键

    2、命令模式下:h 向左、j 向下 、k 向上、l 向右。

    空格键 向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。

    四、删除、恢复字符或行(vi命令模式下使用)

    x //删除当前字符

    nx //删除从光标开始的n个字符

    dd //删除当前行

    ndd //向下删除当前行在内的n行

    u //撤销上一步操作

    U //撤销对当前行的所有操作

    五、搜索(vi命令模式下使用)

    /vpser //向光标下搜索vpser字符串

    ?vpser //向光标上搜索vpser字符串

    n //向下搜索前一个搜素动作

    N //向上搜索前一个搜索动作

    六、跳至指定行(vi命令模式下使用)

    n+ //向下跳n行

    n- //向上跳n行

    nG //跳到行号为n的行

    G //跳至文件的底部

    七、设置行号(vi命令模式下使用)

    :set nu //显示行号

    :set nonu //取消显示行号

    八、复制、粘贴(vi命令模式下使用)

    yy //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

    nyy //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

    yw //复制从光标开始到词尾的字符。

    nyw //复制从光标开始的n个单词。

    y^ //复制从光标到行首的内容。 VPS侦探

    y$ //复制从光标到行尾的内容。

    p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。

    P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。

    九、替换(vi命令模式下使用)

    :s/old/new //用new替换行中首次出现的old

    :s/old/new/g //用new替换行中所有的old

    :n,m s/old/new/g //用new替换从n到m行里所有的old

    :%s/old/new/g //用new替换当前文件里所有的old

    十、编辑其他文件

    :e otherfilename //编辑文件名为otherfilename的文件。

    十一、修改文件格式

    :set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。

    总结:vi(vim)教程虽然有比较多的命令,但是只要勤加练习,相信你会很快的熟练掌握,同时也会给你的工作或学习带来更高的效率。当如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒一点:注意大小写!!!

  • 相关阅读:
    django中的FBV和CBV
    RESTful
    REST
    18.前端路由router-08权限控制
    17.前端路由router-07keep-alive
    16.前端路由router-06动态路由
    15.前端路由router-05嵌套路由
    14.前端路由router-04编程式导航
    13.前端路由router-03路由参数
    java基础总结
  • 原文地址:https://www.cnblogs.com/xusir/p/3245007.html
Copyright © 2020-2023  润新知