• VIM 编辑器笔记



         Emacs 说, 我只要一个编辑器,你却给了我一个操作系统。 它是属于黑客的编辑器。我没能力将Emacs 折腾成一个操作系统,那就要一个纯粹的编辑器吧。 

         以下是 VIM 编辑器的常用命令:

         

          插入模式:  就是文本插入, 即最为熟悉的那种可见即可得的编辑状态。 按下 i, a , o, shift+o 均可进入插入模式。 因为这个最易于接受,故将其放在最先。如果你对命令比较生疏,可以先用插入模式适应下,再学习各种命令逐步增强编辑能力。


         “正常”模式 : 按下ESC键后进入“正常”模式,其实一点都不“正常”,更准确地说,应该是“命令控制模式” ,因为在这个模式下你输入命令,然后编辑器作出恰当反应,就像按下 组合控制键一样。 VIM  启动进入时默认是该模式。 以下命令均必须在该模式下才能生效。 键入命令时, VIM 会在编辑器的最下面一行显示你所键入的命令。

      

                      num-cmd-object : VIM命令模式, 表示对对象object 执行命令 cmd 有 num 次。 比如 3j  表示向下移三行。 非常强大!                

                       j  移至下一行 ; k 移至上一行; h 前一个字符位置 ; l 后一个字符位置。

                      x  删除光标所在位置的单个字母 ;  dw 删除光标所在位置的单个单词;  d$ 删除从光标所在位置到该行末的全部字符; dd 删除光标所在的整行。

                      p 插入上一次删除的内容。 与 dd 连用, 通常可起到 剪切/粘贴 的作用;  u 撤销上次操作;  

                      r  替换模式,按下r 之后输入的字符将替换光标所在位置的单个字母 ; Shift+r  : 按下 shift+r 之后输入的字符将直接覆盖光标所在的字符,可连续替换。

                    

                     cw: 先删除单词,然后进入插入模式。

                        

                    ctrl+g 在编辑器最下面显示光标所在的行信息;   num + shift+g 跳转至指定行 num 。     【定位】

                    搜索字符串:  /要搜索的字符串;   要继续搜索按 n , 反方向搜索按 shift+n             【搜索/替换】

                    替换字符串: :s/oldstr/newstr 替换第一个匹配; :s/oldstr/newstr/ 替换所有匹配; 

                                             :#1,#2s/old/new/g 替换行#1与#2之间的所有匹配 ; :%s 在文本内进行替换

                     在括号(),[],{} 处按  % 可跳转至配对的括号, 按两次回到原括号;

                   
                     :q  编辑文件时不保存就退出,会有警告信息;  :w  将内容写入文件,相当于保存。  :wq 保存文件内容并退出。    【文件操作】

                     :w filename  将文件内容写入文件 filename ,相当于另存为; :#1,#2 w filename 将正在编辑的文件的行#1与#2之间的内容写入文件 filename 中;

                    :r filename 在光标处插入 filename 的内容  ;  :open filename 打开指定文件 filename

                   :!外部命令名   : 调用外部命令, 比如 :!ls ;  

                    o : 在光标所在行的下面插入一行,并进入插入模式; shift+o : 在光标所在行的上面插入一行并进入插入模式。  

                    a : 在光标所在出的下一个位置进入插入模式; A : 在光标所在行的行末进入插入模式。

                   :set ic  查找/替换忽略大小写;  :set hls is 高亮显示查找结果;  :set xxx 设置 xxx  选项。


                  快速移动:

                  num + [jklh] : 比如  10j 向下移动10行; 0 :  移动至行首 ; $ : 移动至行末;

                  num + f + 字符: 向后移动到第 num 个指定字符处; 比如光标在行首,要移动到本行最后一个m 处, 只需要键入 4fm 即可。

                  num + F + 字符: 向前移动到第 num 个指定字符处。 比如光标在行末,要移动到行首的 m 处,只需要键入 4Fm 即可。

                  w : 移到下一单词首; b 回到上一单词首; e 移到下一单词尾; ge 移到上一单词尾。


                  代码块缩进:

                  ESC [进入普通模式] -> shift + v [进入可视模式] -> j,k 移动光标选择代码块范围 ->  > 右缩进, < 左缩进 

                 

                 可视模式:  用途之一,就是选择大量文本块,可用于复制/粘贴功能中。

                 文本内剪贴/粘贴:  ESC ---> shift+v ---> j,k 移动光标选择文本块 ---> d  (完成剪切功能) --> 光标移动到要插入的位置(不可有其它删除操作)  --- > p

                 文本外剪切/粘贴:   ESC ---> shift+v ---> j,k 移动光标选择文本块 ---> w  tmp  (写入文件 tmp) ---> 转到要插入的文件的位置 ---> :r tmp 

               

                 VIM 设置:   修改Vim根目录下的配置文件 Vim/_vimrc

    # 代码编写

    set number
    set nobackup
    set autoindent
    set smartindent
    set tabstop=4
    set shiftwidth=4
    set showmatch
    set ruler

    ## 解决中文乱码

    set encoding=utf-8
    set incsearchg=utf-8

    set termencoding=utf-8

    set fileencoding=chinese

    set fileencodings=ucs-bom,utf-8,chinese 

    set langmenu=zh_CN.utf-8

    source $VIMRUNTIME/delmenu.vim

    source $VIMRUNTIME/menu.vim

    language messages zh_cn.utf-8 

    language messages zh_cn.utf-8  


                小结:

                VIM 编辑器的强大之处,在于其丰富的命令,可以控制编辑器作出各种反应。当然,需要对命令非常熟悉并且能灵活组合运用。 其实也并不像传说中那么困难。如果默认启动模式是插入模式,也许会更易于接受。继续学习中……


  • 相关阅读:
    [分享]解决Ubuntu 16.04安装Vitis 2019.2失败的问题
    ZCU102 休眠到内存(suspend-to-ram)对DDR复位信号的设计
    PetaLinux使用bitbake提前下载所有软件包
    Ubuntu 16.04执行基本命令失败,恢复Python版本后正常
    Upgrade Zynq-7000 XIP reference design to Xilinx SDK 2018.3
    区块链入门到实战(26)之以太坊(Ethereum) – 挖矿
    区块链入门到实战(25)之以太坊(Ethereum) – 以太币单位
    区块链入门到实战(24)之以太坊(Ethereum) – 网络节点
    区块链入门到实战(23)之以太坊(Ethereum) – 虚拟机架构
    区块链入门到实战(22)之以太坊(Ethereum) – 账号(地址)
  • 原文地址:https://www.cnblogs.com/lovesqcc/p/4037815.html
Copyright © 2020-2023  润新知