zoukankan      html  css  js  c++  java
  • Vim编辑指令

    基本命令

    • Esc 或 Ctrl+[ 进入普通模式

    • i (插入) a (附加) 进入插入模式

    • wq 回车保存退出

    • vim后面加上你要打开的已存在的文件名或者不存在(则作为新建文件)的文件名。 打开Xfce终端

    $ vim practice_1.txt
    
    • 直接使用vim也可以打开vim编辑器 vim

    • 进入命令行模式后输入:e 文件路径 同样可以打开相应文件

    • 游标移动

    h
    l 右(小写L)
    j
    k
    w 移动到下一个单词
    b 移动到上一个单词
    • 在普通模式下使用下面的键将进入插入模式,并可以从相应的位置开始输入
    命令 说明
    i 在当前光标处进行编辑
    I 在行首插入
    A 在行末插入
    a 在光标后插入编辑
    o 在当前行后插入一个新行
    O 在当前行前插入一个新行
    cw 替换从光标所在位置后到一个单词结尾的字符

    请尝试不同的从普通模式进入插入模式的方法,在最后一行shiyanlou前面加上www.,注意每次要先回到普通模式才能切换成以不同的方式进入插入模式

    保存文档(命令行模式下保存文档)

    从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下

    退出vim(命令行模式下退出vim)

    • 从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑
    命令 说明
    q! 强制退出,不保存
    q 退出
    wq! 强制保存并退出
    w <文件路径> 另存为
    saveas 文件路径 另存为
    x 保存并退出
    wq 保存并退出
    • 普通模式下退出vim

    • 普通模式下输入Shift+zz即可保存退出vim

    删除文本(普通模式下删除vim文本信息)

    • 进入普通模式,使用下列命令可以进行文本快速删除
    命令 说明
    x 删除游标所在的字符
    X 删除游标所在前一个字符
    Delete 同x
    dd 删除整行
    dw 删除一个单词(不适用中文)
    d$或D 删除至行尾
    d^ 删除至行首
    dG 删除到文档结尾处
    d1G 删至文档首部
    u 撤销
    ndd 删除光标所在位置起的多行n为数字
    yy 复制光标当前所在的那一行
    nyy 复制多行为n的数字
    p 将已复制的内容粘贴到光标所在的位置的下一行
    大P 将已复制的内容粘贴到光标所在位置的上一行
    np 粘贴多行到光标的下一行为n的数字
    cttl+r 重复上一次操作
    $ 跳到一行的尾部
    0 跳到一行的头部
    gg 移动到这个文件的第一行
    G 跳到这个文件的最后一行
    nG 跳到n行
    set nu 显示行号
    H 光标移动到屏幕的最上方那一行的第一个字符
    M 光标移动到屏幕的中央那一行的第一个字符
    L 光标移动到屏幕的最下面那一行的第一个字符

    vim重复命令

    • 重复执行上次命令

    • 在普通模式下.(小数点)表示重复上一次的命令操作

    • 拷贝测试文件到本地目录

    $ cd /home/shi
    $ cp /etc/protocols .
    

    游标的快速跳转

    普通模式下,下列命令可以让光标快速调转到指定位置,我们分别讨论快速实现行间跳转和行内跳转

    • 行间跳转
    命令 说明
    nG(n shift+g) 游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号)
    gg 游标移动到第一行
    G(Shift+g) 到最后一行

    小技巧:你在完成依次跳转后,可以使用 Ctrl+o 快速回到上一次(跳转前)光标所在位置,这个技巧很实用,比如当你在写代码时,忽然想起有个 bug,需要修改,这时候你跳过去改好了,只需要按下 Ctrl+o 就可以回到你之前的位置。vim 中会用很多类似的小技巧就等着你去发掘。

    • 行内跳转
    命令 说明
    w 到下一个单词的开头
    e 到当前单词的结尾
    b 到前一个单词的开头
    ge 到前一个单词的结尾
    0或^ 到行头
    $ 到行尾
    f<字母> 向后搜索<字母>并跳转到第一个匹配的位置(非常实用)
    F<字母> 向前搜索<字母>并跳转到第一个匹配的位置
    t<字母> 向后搜索<字母>并跳转到第一个匹配位置之前的一个字母(不常用)
    T<字母> 向前搜索<字母>并跳转到第一个匹配位置之后的一个字母(不常用)

    复制粘贴和剪切

    • 复制及粘贴文本

    • 普通模式中使用y复制

      • 普通模式中,yy复制游标所在的整行(3yy表示复制3行)
      • 普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。
      • 普通模式中,y$ 复制至行尾。含光标所在处字符。
      • 普通模式中,yw 复制一个单词。
      • 普通模式中,y2w 复制两个单词。
      • 普通模式中,yG 复制至文本末。
      • 普通模式中,y1G 复制至文本开头。
    • 普通模式中使用 p 粘贴

      • 普通模式中,p(小写)代表粘贴至光标后(下)
      • 普通模式中,P(大写)代表粘贴至光标前(上)

    字符的替换及撤销(Undo操作)

    • 替换和撤销(Undo)命令
    • 替换和Undo命令都是针对普通模式下的操作
    命令 说明
    r+<待替换字母> 将游标所在字母替换为指定字母
    R 连续替换,直到按下Esc
    cc 替换整行,即删除游标所在行,并进入插入模式
    cw 替换一个单词,即删除一个单词,并进入插入模式
    C(大写) 替换游标以后至行末
    ~ 反转游标所在字母大小写
    u{n} 撤销一次或n次操作
    U(大写) 撤销当前行的所有修改
    Ctrl+r redo,即撤销undo的操作

    如下操作

    • 输入fa 跳转到第一个a字符
    • 输入r,并且输入b,a字符被b字符替换(实用)
    • 输入R替换字符,输入新字符串,输入完按ESC回到普通模式(实用)
    • 输入cc替换整行字符,输入新字符串,输入完按ESC回到普通模式
    • 输入cw 替换一个英文字(word),输入完按ESC回到普通模式(实用)
    • 输入~,翻转游标所在字符的大小写
    • 输入C 替换至行尾,即游标所在处以后的字都会被替换,输入完按ESC回到普通模式
    • 输入u 撤销上一次的操作

    快速缩进

    • 普通模式下输入15G,跳转到15行

    • 普通模式下输入>> 整行将向右缩进(使用,用于格式化代码超爽)

    • 普通模式下输入<< 整行向左回退

    • 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数

    • shiftwidth命令

    • shiftwidth命令是指上一节>>命令产生的缩进(可以简写成sw) 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 获取目前的设定值

          :set shiftwidth?
    
    • 设置缩进为10个字符
          :set shiftwidth=10
    

    输入 ESC 回到普通模式,再次尝试 >> 看缩进量是否变化

    • 调整文本位置
      命令行模式下输入:ce(center)命令使本行内容居中
          :ce
    

    命令行模式下输入:ri(right)命令使本行文本靠右

          :ri
    

    命令行模式下输入:le(left)命令使本行内容靠左

          :le
    

    查找

    • 快速查找

    普通模式下输入 / 然后键入需要查找的字符串 按回车后就会进行查找。 ? 与/ 功能相同,只不过 ? 是向上而 / 是向下查找。 进入查找之后,输入n 和 N 可以继续查找。 n是查找下一个内容,N查找

    • 普通模式下输入/icmp然后回车即可查找字符串 icmp
    • 普通模式下输入n查找下一个 icmp
    • 普通模式下输入?tcp向上查找字符串 tcp
    • 普通模式下输入N查找上一个出现的 tcp
    • 命令行模式下输入 noh 然后回车即可取消搜索
    • 高级查找
    • 普通模式下输入*寻找游标所在处的单词
    • 普通模式下输入#同上,但 # 是向前(上)找,*则是向后(下)找
    • 普通模式下输入g*同* ,但部分符合该单词即可
    • 普通模式下输入g#同# ,但部分符合该单词即可

    可视模式

    可视模式命令简介

    • 在普通模式下输入 v(小写),进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下v后就会取消选取。
    • 在普通模式下输入 Shift+v(小写),进入行选择模式,按下V之后就会把整行选取,您可以上下移动光标选更多的行,同样,再按一次 Shift+v 就可以取消选取。
    • 在普通模式下输入 Ctrl+v(小写),这是区域选择模式,可以进行矩形区域选择,再按一次 Ctrl+v 取消选取。
    • 在可视模式下输入 d 删除选取区域内容
    • 在可视模式下输入y复制选取区域内容

    视窗操作

    • 视窗操作简介

    vim 可以在一个界面里打开多个窗口进行编辑,这些编辑窗口称为 vim 的视窗。 打开方法有很多种,例如可以使用在命令行模式下输入 :new 打开一个新的 vim 视窗,并进入视窗编辑一个新文件(普通模式下输入 Ctrl+w也可以),除了 :new 命令,下述列举的多种方法也可以在命令模式或普通模式下打开新的视窗:

    • 命令行模式下输入:sp 1.txt 打开新的水平分屏视窗来编辑1.txt
    • 命令行模式下输入:vsp 2.txt 打开新的垂直分屏视窗来编辑2.txt
    • 普通模式下Ctrl+w s 将当前窗口分割成两个水平的窗口
    • 普通模式下Ctrl+w v 将当前窗口分割成两个垂直的窗口
    • 普通模式下Ctrl+w q 即 :q 结束分割出来的视窗。如果在新视窗中有输入需要使用强制符!即:q!
    • 普通模式下Ctrl+w o 打开一个视窗并且隐藏之前的所有视窗
    • 普通模式下Ctrl+w j 移至下面视窗
    • 普通模式下Ctrl+w k 移至上面视窗
    • 普通模式下Ctrl+w h 移至左边视窗
    • 普通模式下Ctrl+w l 移至右边视窗
    • 普通模式下Ctrl+w J 将当前视窗移至下面
    • 普通模式下Ctrl+w K 将当前视窗移至上面
    • 普通模式下Ctrl+w H 将当前视窗移至左边
    • 普通模式下Ctrl+w L 将当前视窗移至右边
    • 普通模式下Ctrl+w - 减小视窗的高度
    • 普通模式下Ctrl+w + 增加视窗的高度
  • 相关阅读:
    spark 读取mongodb失败,报executor time out 和GC overhead limit exceeded 异常
    在zepplin 使用spark sql 查询mongodb的数据
    Unable to query from Mongodb from Zeppelin using spark
    spark 与zepplin 版本兼容
    kafka 新旧消费者的区别
    kafka 新生产者发送消息流程
    spark ui acl 不生效的问题分析
    python中if __name__ == '__main__': 的解析
    深入C++的new
    NSSplitView
  • 原文地址:https://www.cnblogs.com/xinzaiyuan/p/12106242.html
Copyright © 2011-2022 走看看