zoukankan      html  css  js  c++  java
  • 【Linux学习】【第一节】【vi命令】

    在linux下操作文件,通常会用到vi命令,现对其常用命令进行总结。

    基本上vi/vim共分为三种模式,分别是命令模式、输入模式和底线命令模式,三者之间的关系如图所示。

    一、移动光标的方法

    (1)上下左右键(或者hjkl),(向下移动30行,使用30下或30j)

    (2)Page Down,屏幕向下移动一页

    (3)Page Up,屏幕向上移动一页

    (4)n <space>,光标向右移动这一行的n个字符

    (5)0或者Home,移动到这一行最前面的字符处

    (6)$或End,移动到这一行最后字符处

    (7)G,移动到文件的最后一行

    (8)gg,移动到文件的第一行

    (9)nG,移动到文件的第n行

    (10)n<Enter>,光标向下移动n行

    二、搜索和替换

    (1)/word 向光标之下寻找一个名称为word的字符串

    (2)?word向光标之上寻找一个名称为word的字符串

    (3)n,N 代表重复前一个搜寻动作,如进行(1)操作后,按下n,自动向下寻找名为word的字符串,N自动向上寻找

    (4):n1,n2s/word1/word2/g 在n1和n2行之间寻找word1这个字符串,并将该字符串取代为word2

    (5):1,$s/word1/word2/g 或:%s/word1/word2/g 在第一行到最后一行寻找word1的字符,并将其替换为word2

    (6):1,$s/word1/word2/gc 或:%s/word1/word2/gc 在第一行到最后一行寻找word1的字符,并将其替换为word2,且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!

    三、删除、复制与粘贴

    (1)x,X 在一行字中,x为向后删除一个字符,X为向前删除一个字符,10x为向后删除10个字符

    (2)dd,删除光标所在的那一整行

    (3)ndd,删除光标所在的向下n行(包含游标所在行)

    (4)d1G,删除游标所在行到第一行的所有数据

    (5)dG,删除游标所在行到最后一行的所有数据

    (6)d$,删除游标所在位置到该行最后一个字符

    (7)d0,删除游标所在位置到改行最前面一个字符

    (8)yy,复制游标所在的那一行,nyy复制游标所在的向下n行

    (9)y1G,复制游标所在行到第一行的所有数据

    (10)yG,复制游标所在行到最后一行的所有数据

    (11)y0,y$,复制游标所在字符到改行行首和行尾的所有数据

    (12)p,P p为将已复制的数据在光标的下一行粘贴,P则为粘贴在游标的上一行

    (13)J 将光标坐在行与下一行的数据结合成同一行

    (14)u 复原前一个动作

    (15)ctrl+r 重复前一个动作

    (16)万能的.重复前一个动作

    四、命令模式切换到可编辑模式

    (1)i,I 进入输入模式,i为从目标光标所在处输入,I为目前所在行的第一个非空格符处开始输入。

    (2)a,A 进入输入模式,a为从目前光标所在的下一个字符处开始输入, A 为从光标所在行的最后一个字符处开始输入。

    (3)o,O 进入输入模式,o为从目前光标所在的下一行处输入新的一行,O为在目前所在处的上一行输入新的一行。

    (4)r,R 进入取代模式,r只会取代光标所在的那一个字符一次,R会一直取代光标所在的文字,指导按下ESC为止。

    五、文件保存和退出

    (1):w 保存但不退出vi

    (2):wq 保存文件并退出

    (3):q 离开vi

    (4):q! 强制离开vi,不保存

    (5):w filename 将文件另存为

    (6):n1,n2 w filename 将n1到n2行内容存储成filename

    (7):r filename 在编辑的数据中读入另一个文件,将filename的内容加到游标后面

     六、vim环境变更

    (1):set nu 每行前打印行号

    (2):set nonu 取消每行前打印行号

    (3):= 打印文件中的行数

    (4):.= 打印当前行的行号

    六、多文件编辑和窗口切换

    (1)vim filename1 filename2 filename3 打开文件1,文件2,文件3

    (2):n 进入下一个被vi打开的文件 :N进入上一个被vi打开的文件

    (3):files 列出vi打开的所有文件

    (4):sp filename 水平分割窗口,在已打开文件窗口页面,切换到另一个文件

    (5):vsp filename 垂直分割窗口,在已打开文件窗口页面,切换到另一个文件

  • 相关阅读:
    Java实现HadoopHA集群的hdfs控制
    Hadoop-2.8.5的HA集群搭建
    Python实现bing必应壁纸下载
    使用Python3将Markdown(.md)文本转换成 html、pdf
    使用GitHub作Free图床
    JavaMail实践--实现邮件发送
    Python3实现图片转字符画
    Java编写的Java编辑器_JavaIDE
    Java实现简易版计算器
    Java实现Excel表格操作--API:jxl
  • 原文地址:https://www.cnblogs.com/yuhuang/p/12834916.html
Copyright © 2011-2022 走看看