zoukankan      html  css  js  c++  java
  • 一步一步学Linux下vi/vim的使用(案例比纯理论好学)

    vim是一个功能强大的全屏幕文本编辑器,是Linux上最常用的文本编辑器,在编辑配置文件和写短的shell脚本时用。它没有菜单,只有命令

    先跟着做,走个最简单的流程。把vim使用起来。

    在终端中输入:

    vi 111.txt

    这个命令过后,如果原来不存在111.txt,则是新建并打开。如果原来存在111.txt,则是编辑111.txt。

    这时就进入了命令模式(如下图),命令模式下,键盘输入的任何东西都会被看成“操作命令”,而不是“文件内容”。

     接下来如下图动画所示:

     这样一来,最简单的使用vi编辑并保存文件我们就操作结束了。

    我们用windows下的编辑器习惯了,而vim是命令提示符下使用,它没有菜单界面,不能用鼠标点击下面的菜单,做各种选择。

    一切都是靠键盘控制。所以必须搞清楚几个模式之间切换的概念,也就是最开始的那张说明图。

    记住:

    1.命令模式下,输入的一切都是操作命令,而不是文件内容。

    2.脑子中有命令模式,输入模式(插入模式),底线命令模式(编辑模式)的概念,记住它们是如何切换的。新手很容易忘记按ESC回到命令模式,再输入一些操作,所以要常看这个图

    1) 命令行模式command mode)
    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
    2) 插入模式(Insert mode)
    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
    3) 底行模式(last line mode)
    将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

     简单地,可以使用上下左右方向箭头和delete,backspace键来进行位置移动和删除,不管是命令模式还是插入模式

    ————————

    搞清楚这些概念后,剩下的诸如如何定位到行,显示行号,编辑替换等具体操作,用的时候,看使用说明书即可。下面补充一些常用的使用说明书。

    操作前提:
    在什么模式下操作的?
    输入什么? 起了什么作用? 将会到什么模式?
    命令模式 a 进入插入模式,并从光标后面开始输入文字 插入模式
    i 进入插入模式,并从光标前面开始输入文字
    o 进入插入模式,在光标下面插入新行,在新行内输入文字
    O 进入插入模式,在光标上面插入新行,在新行内输入文字
    A 进入插入模式,在光标所在行的行尾输入文字 
    I 进入插入模式,在光标所在行的行首输入文字

    怎么定位?

    最简单的是键盘上的 [上] [下] [左] [右]键,[pageup]、[pagedown]键,[home]、[end]键。除了这些之外还可以见表格

    操作前提:
    在什么模式下操作的?

    输入什么? 起了什么作用 注意 将会回到什么模式?
    命令模式 :set nu 设置为:显示行号 先输入冒号,进入了底行命令模式,最后要回车 命令模式
    :set nonu 设置为:不显示行号 同上
    gg 光标到第一行 没有冒号,最后也不用敲回车
    G 光标到最后一行 同上
    nG 到第n行 这里n是任意一个正整数,这种方式输入数字的时候,看不到,可以用下面的方法代替
    :n 到第n行(同上) 先输入冒号,进入了底行命令模式,最后要回车
    $ 光标移到行尾 【end】键也是这效果
    0 光标移到行首 注意,是0零不是o欧,【home】键也是这效果

    怎么删除?

    操作前提:
    在什么模式下操作的?
    输入什么? 起了什么作用 将会回到什么模式
    命令模式 x 删除光标所在字符,和【delete】键一样 命令模式
    nx 删除光标所在处后n个字符
    dd 删除光标所在一整行
    ndd 删除n行
    dG 从光标所在行删到文件末尾
    D 从光标所在处删掉行尾
    :m,nd 从第m行开始删,一直删到第n行

     怎么复制,剪切?

     xshell支持用鼠标选择复制粘贴哦!

    操作前提:
    在什么模式下操作的?
    输入什么? 起了什么作用 将会回到什么模式
    命令模式 yy 复制当前行(进剪切板了,下一步要粘贴才有效果) 命令模式
    nyy 复制当前行以下n行
    dd 剪切当前行(剪切和删除是同一个命令)
    ndd 剪切当前行以下n行
    p 粘贴在光标所在行下面
    P 粘贴在光标所在行上面
    :m,nd 从第m行开始删,一直删到第n行

    怎么显示行号?

    如果内容多,怎么翻页查看?

    怎么搜索替换?

    怎么选中,复制/剪切  粘贴?从其他地方剪切的文本,粘贴过来?

  • 相关阅读:
    按需取余
    P3372 【模板】线段树 1
    POJ 3180 The Cow Prom ( korasaju 算法模板)
    【题解】Qin Shi Huang's National Road System HDU 4081 ⭐⭐⭐⭐ 【次小生成树】
    iOS 端容器之 WKWebView 那些事
    无影,会是接近未来的工作场景吗?
    Serverless Devs 2.0 全新发布,让 Serverless 应用开发更简单
    李飞飞:新技术变革时代的数据库产业
    如何攻破容器持久化存储挑战?
    Dubbo 和 HSF 在阿里巴巴的实践:携手走向下一代云原生微服务
  • 原文地址:https://www.cnblogs.com/html55/p/12904421.html
Copyright © 2011-2022 走看看