zoukankan      html  css  js  c++  java
  • linux系统管理 vi编辑器

    Vim是vi improved的缩写是vi的改进版本,vi被认为是事实上的标准编辑器

    所有版本的Linux都带有vi编辑器
    占用的资源少
    与ed,ex等其他编辑器相比,vi对用户更加友好
    

    进入vi编辑器

    'vi filename'
    如果filename存在,则打开;否则会创建一个新的文件在打开
    'vi -R filename'
    以只读模式(只能查看不能编辑)打开现有文件
    'view filename'
    以只读模式打开现有文件
    例如:使用vi 编辑器创建一个新文件并打开:
    $vi testfile
    |
    ~
    ~
    "testfile" [New File]
    ​
    "|":表示光标位置
    "~": 表示没有任何内容
    如果没有~,也看不到任何内容,那说明这一行肯定有空白字符(空格,tab缩进,换行符等)或不可见字符
    

    工作模式

    '普通模式'
    有shell进入vi编辑器时,首先进入普通模式,在普通模式下,从键盘输入任何字符都被当做命令来解释。
    普通模式下没有任何提示符。输入命令后立即执行,不需要回车,而且输入的字符不会再屏幕上显示出来。
    '编辑模式;
    编辑模式主要用于文本的编辑,该模式下用户输入的任何字符都被作为文件的内容保存起来,并且在屏幕上显示出来
    '命令模式'
    命令模式下,用户可以对文件进行一些高级处理,尽管普通模式下的命令可以完成很多功能,但是要执行一些如字符串查找,
    替换,显示行号等操作还是必须要进入命令模式
    ps:有时命令模式也会合并到普通模式
    

    工作模式切换

    在普通模式下输入“i(输入)”,"c(修改)",“o(另起一行)”进入编辑模式,按esc键退回到普通模式
    在普通模式下输入冒号(:)进入命名模式。驶入完命令按回车,命令执行完成后自动退回普通模式。
    提示:如果不确定当前处于那种模式,按两次Esc键将回到普通模式
    

    退出vi编辑器

    一般在命令模式下退出vi编辑器
    q:如果文件违背修改将直接退回到Shell,否则提示保存文件
    q!:强行退出,不保存修改内容
    wq:w命令保存文件,q命令退出vi,合起来就是保存并退出
    ZZ:保存并退出,相当于wq,但是更加方便
    

    vim打开文件命令

    'vim + ssgao'
    打开ssgao文件光标定位到最后一行
    'vim +3 ssgao'
    打开文件光标定位到第三行
    ​
    'vim +/ssgao ssgao'
    打开ssgao文件定位到第一次出现ssgao出现的哪一行,按字母n出现类似查找的功能
    ​
    'vim aa bb cc'
    一次创建或打开多个文文件,在底行通过n或N进行文件切换
    

    普通模式常用命令

    ':w' 保存修改
    ':w new_file' 另存为指定文件new_file
    'ZZ' 快捷键,保存修改并退出
    ':q' 退出当前编辑器打开的文件
    ':!' 表示强制执行,通常':q!'组合使用 ':wq' 保存之后直接退出
    ':ls' 列出当前编辑器打开的所有文件
    ':n' 切换到后一个文件':N'切换到前一个文件
    ':15' 光标快速定位到第15行
    '/xxx' 从光标位置开始向后搜索,搜索到xxx第一次出现的位置, ("使用字母n来搜索下一个出现的位置")
    '?xxx' 从光标位置开始向前搜索,搜索到xxx第一次出现的位置
    ​
    '%s/源字符串/新字符串/g' 将文件中的源字符串全部替换为新的字符串
    'n1,n2s/old/new/g'  在一定范围内替换指定字符串
    

    普通模式下常用命令

    'h' 光标左移
    'j' 光标下移
    'k'光标上移
    'l' 光标右移
    'ctrl+f'向下翻页
    'ctrl+b'向上翻页
    'ctrl+d'向下翻半页
    'ctrl+u'向上翻半页
    ​
    'dd' 删除光标所在的行
    ​
    'g' 光标定位到第一行
    'G/shift+g' 光标定位到最后一行
    ​
    'o' 在光标所在行的下方插入一行并切换到输入模式
    'O' 在光标所在行的上一行打开新行
    ​
    'i' 在光标所在位置插入文本
    'I' 在一行的开头插入文件
    ​
    'a' 在光标所在位置附加文件
    'A' 在光标所在行的最后附加文件
    ​
    'u' 撤销上一个动作
    'U' 将一整行恢复到原来的状态
    ​
    'yy'复制光标所在的行
    '小写p' 在光标所在行的下方粘贴
    '大写P' 在光标所在行的上方粘贴
    ​
    '+' 到下一行的第一个字符
    '-' 到下一行的第一个字符
    ​
    'E' 到单词的结尾
    'w' 往后一个单词
    'b' 往前一个单词
    '$' 到一行的结尾
    '0' 到一行的开头
    
  • 相关阅读:
    layui iframe版点击左侧菜单栏实现加载等待动画
    概率论基础内容
    fatal error LNK1123:转换COFF期间失败:文件无效或损坏
    ERROR 2003:Can't connect to MySQL server on ‘localhost’...
    HttpWebRequest 无法连接到远程服务器
    Android Error: java.lang.IllegalStateException: Could not execute method of the activity
    创建.aspx页面
    CodeFile Inherits
    Unable to execute dex:Target out of range
    fatal error C1083: 无法打开包括文件“jni.h”
  • 原文地址:https://www.cnblogs.com/ssgao/p/8871628.html
Copyright © 2011-2022 走看看