zoukankan      html  css  js  c++  java
  • linux(10)linux vi/vim

    前言

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
    但是目前我们使用比较多的是vim编辑器。
    vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
     

    什么是vim?

    Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
    简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
     

    vim的三种模式

    基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。
     

    命令模式:

    使用 Vim 编辑文件时,默认处于命令模式。
    此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
    以下是常用的几个命令:

    • i 切换到输入模式,以输入字符。
    • x 删除当前光标所在处的字符。
    • : 切换到底线命令模式,以在最底一行输入命令。
       

    输入模式

    在输入模式下可以对文件执行写操作,类似在 Windows 的文档中输入内容。进入输入模式的方法是输入 i、a、o 等插入命令,编写完成后按 Esc 键即可返回命令模式。
     

    底线命令模式

    如果要保存、查找或者替换一些内容等,就需要进入编辑模式。编辑模式的进入方法为:在命令模式下按":"键,Vim 窗口的左下方会出现一个":"符号,这时就可以输入相关的指令进行操作了。指令执行后会自动返回命令模式。
     

    常用操作

    移动光标

    以字符为单位

    在命令模式中使用 k、j、h、l 这 4 个字符控制方向,分别表示向上、向下、向左、向右。
    也可以使用方向箭头↑↓←→去移动,一般直接使用方向键就可以,上面的花里胡哨的,记起来还麻烦。方向键他不香吗?
     

    以单词为单位

    • w:移动光标到下一个单词的单词首
    • b:移动光标到上一个单词的单词首
    • e:移动光标到下一个单词的单词尾
       

    以行为单位

    • 0:移动到这一行的最前面字符处
    • $:移动到这一行的最后面字符处
    • gg:移动到这个文件的第一行
    • nG:n 为数字。移动到这个文件的第 n 行。例如 20G 则会移动到这个文件的第 20 行
    • n:n 为数字。光标向下移动 n 行
    • control+f:屏幕『向下』移动一页
    • control+b:屏幕『向上』移动一页
       

    删除、复制与贴上

    • x:向后删除一个字符
    • X:向前删除一个字符
    • dd:删除游标所在的那一整行
    • ndd:n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行
    • yy:复制游标所在的那一行
    • nyy:n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行
    • p:将已复制的数据在光标下一行贴上
    • P:将已复制的数据在光标上一行贴上
    • u:复原前一个动作
    • control+r:重做上一个动作
    • .:重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了!
       

    进入输入或取代的编辑模式

    • i:从目前光标所在处输入
    • I:在目前所在行的第一个非空格符处开始输入
    • a:从目前光标所在的下一个字符处开始输入
    • A:从光标所在行的最后一个字符处开始输入
    • o:在目前光标所在的下一行处输入新的一行
    • O:在目前光标所在的上一行处输入新的一行
    • r:只会取代光标所在的那一个字符一次
    • R:一直取代光标所在的文字,直到按下 ESC 为止
       

    指令行的储存、离开

    • :wq:储存后离开,若为 :wq! 则为强制储存后离开
    • :q!:强制离开不储存档案
    • :q:离开 vi
    • :w:将编辑的数据写入硬盘中
       

    命令就像开车一样,孰能生巧,多敲多练即可,敲多了,自然而然就学会了

  • 相关阅读:
    HDU-3336-Count the string(扩展KMP)
    洛谷-P3805-Manacher模板
    洛谷-p5410-扩展KMP模板
    HDU-2594-Simpsons' Hidden Talents(kmp, 扩展kmp)
    POJ-3080-Blue jeans(KMP, 暴力)
    [办公应用]两个单独的列数据快速变为两列匹配关联数据
    [办公应用]如何将单词中的部分字母加下划线
    [办公应用]word 2007:全屏快捷键,让复制图片保持原样大小(office 全屏快捷键)
    [办公自动化]如何让excel图表标签中显示最新值数据
    [计算机故障处理]无法访问网络共享资源
  • 原文地址:https://www.cnblogs.com/jiakecong/p/14361195.html
Copyright © 2011-2022 走看看