• Linux 编辑器


    vim编辑器

    vi作为Unix上的一个编辑器,一直广受欢迎。之后GUN将其移植到开源世界中,经过开发人员对其进行了改善,被称为vi improved,就是现在的vim。为了方便使用,几乎所有的Linux发行版都为vim起了一个别名,即:alias vi=’vim’

    vim在内存缓冲区中处理数据。使用vim时有两种模式:普通模式和插入模式。

    普通模式下,vim使用方向键来移动方向,同时对应了快捷键:h/j/k/l--->左/下/上/右。

    Ctrl+F(PageDown): 下翻页

    Ctrl+B(PageUp): 上翻页

    G:移到最后一行

    num G: 移到第num行

    gg: 移到第一行

    普通模式下有一个特殊的模式成为命令行模式,该模式下按下冒号即可进入,进入命令行模式中,如下选项可供使用:

    q: 在未修改的情况下退出缓冲区;

    q! 取消对缓冲区的修改并强制退出;

    w filename: 将文件另存为filename;

    wq: 保存修改后的缓冲区并退出。

    普通模式下,vim提供了如下修改缓冲区数据的选项:

    x:  删除当前字符

    dw: 删除当前单词

    dd: 删除当前行

    d$: 删除当前位置到本行末尾的所有字符

    J:  删除当前行行尾的换行符,相当于与下一行拼接在一起

    u:  撤销上次编辑

    a:  在当前光标后插入字符

    A:  在当前光标所在行行尾插入字符

    r char: 用char替换当前光标所在位置的单个字符

    R text: 用text替换当前光标所在位置的字符,相当于word中的插入模式,直到按下ESC退出为止

    注意:

    vim会将键盘上的Delete键当作 x,而忽略键盘上的 Backspace 键。

    其实我们最常用的功能莫过于复制和粘贴了。vim中剪切要比复制简单点,原因是,当你删除数据时,vim并不会真的删除,而是将其保存在一个寄存器中,你可以利用p命令来取回被删的内容。

    比如要实现剪切---粘贴,可以先利用dd,然后利用p

    在vim中复制时利用y,其组合为: yw—复制当前单词;yd: 复制当前行; y$: 复制当前位置到行尾。之所以比剪切复杂是因为,你复制后不知道到底复制了什么内容,这个问题可以通过可视模式解决:在你要复制的起始位置,按下v键,此时当前字符高亮显示,然后移动光标,到需要复制内容的结尾,此时按下y激活复制命令。

    要进行查找替换功能的话,必须在命令行模式下,:/s/old/new/,此时vim会跳到old第一次出现的位置,并用new来替换。具体变体如下:

    :s/old/new/g: 替换当前行中的所有old;

    :n.ms/old/new/g: 替换行号n和m之间的所有old;

    :%s/old/new/g: 替换整个文件中的所有old;

    :%s/old/new/gc: 替换整个文件中的所有old,并在每次出现时提示。

    Emacs编辑器

    Emacs编辑器早于Unix的诞生。在控制台模式下键入打开Emacs编辑器的命令时,其会根据环境是否允许决定打开控制台版本还是图形界面版本。Emacs编辑器一般会使用键盘上的Ctrl和Alt键来组合命令。键入Ctrl+x,屏幕上显示C-x; 键入Alt+x,屏幕上显示M-x。

    由于Emacs模式只有一个模式,因此在编辑和输入命令之间必须进行模式切换。在命令模式下,使用方向键和PageUp、PageDown操作光标,此外,等效的快捷键如下:

    C-p/ C-b/ C-f/ C-n: 代表上/ 左/ 右/ 下。

    其他快捷键如下:

    M-f: 右移到下一个单词;

    M-b: 左移到上一个单词;

    C-a: 移到行首;

    C-e: 移到行尾;

    M-a: 移到当前句首;

    M-e: 移到当前句尾;

    M-v: 上翻页

    C-v: 下翻页

    M-<: 移到首行

    M->: 移到尾行

    保存缓冲区内容的相关命令:

    C-x C-s: 保存当前缓冲区内容到文件中;

    C-z: 假退出,还可以回来;

    C-x C-c: 退出Emacs.

    其中, C-x称为扩展命令。

    Emacs在插入和删除缓冲区数据时具有优越性。删除数据时正常使用Backspace和Delete的对应功能。Emacs的剪切会将数据存储起来,删除命令会直接删除而不存储,这点和vim有所区别。

    M-Backspace: 剪切当前光标之前的单词

    M-d: 剪切当前光标之后的单词

    C-k: 剪切当前位置到行尾的内容

    M-k: 剪切当前位置到句尾的内容

    还有一种剪切方法,在起始光标处按下C-@或者C-Backspace,在结束位置处按下C-w,这段区间的内容将被剪切掉。

    撤销: C-u

    粘贴: C-y

    C-s: 向前搜索

    C-r: 向后搜索

    有两种查找方式,渐进式的(在输入过程中执行查找)和非渐进式的(输入完成后按下回车进行查找)。

    替换功能:用new替换old

    M-x ---->replace-string ---->old ---->new

    C-x C-f: 加载新文件到缓冲区中,按下这个组合键时提示输入文件名,如果忘记了,此时直接按下回车键,会弹出一个文件浏览器。

    C-x C-b: 列出当前所有的工作缓冲区,如果你有多个文件正在编辑,那么Emacs会将编辑器窗口进行拆分。除了主要区域外,Emacs还提供了两个缓冲区:草稿区域:scatch / 消息区域:Messages。

    有两种方式切换到不同的缓冲区中:

    C-x o: 先切换到缓冲区列表,再使用方向键选择,然后回车;

    C-x b: 直接输入目标缓冲区的名字,然后回车;

    控制台模式下的Emacs:

    C-x 2: 将窗口水平拆分为两个

    C-x 3: 将窗口垂直拆分为两个

    当创建一个新窗口时,Emacs会在窗口中加载原有的缓冲区,可以使用C-x C-f来加载一个新文件,或者用命令切换到不同的缓冲区。

    要关闭当前窗口,使用C-x 0;

    要关闭除当前窗口的所有窗口,使用C-x 1;

  • 相关阅读:
    JS 教程
    linux查询机器信息
    linux Python2.7 离线安装pip、numpy、scipy、sklearn等
    Linux系统安装numpy、scipy指定版本库
    Fiddler显示服务器ip地址列(方便查看host是否生效)
    搭建CDH大数据平台(CentOS6.4+CHD5.1)
    ssh登录立即退出( Exit status 254)
    搭建CDH大数据平台(CentOS7+CDH5.7)
    大数据平台环境搭建
    Exception in thread "main" java.lang.NoSuchMethodError: scala.runtime.VolatileByteRef.create(B)Lscala/runtime/VolatileByteRef;
  • 原文地址:https://www.cnblogs.com/benxintuzi/p/4588631.html
Copyright © 2020-2023  润新知