zoukankan      html  css  js  c++  java
  • linux文本编辑器-VIM基本使用方法

      vim [OPTION]... FILE...

    +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
    vim + file 直接打开file,光标在最后一行

    三种主要模式:

             命令模式:移动光标,剪切粘贴等

             插入模式:编辑,修改文本

             扩展模式:保存退出等

    模式转换:

             a       在光标后插入内容

             A       在光标所在行末尾插入内容

             i        从当前光标前插入内容

             I        在光标所在行行首插入内容

             o      在当前光标下插入空行

             O      在当前光标上插入空行

             插入模式-->命令模式   esc

             命令模式-->扩展模式   :、?、/

             扩展模式-->命令模式   esc

    vim的打开与退出:

             vim file 若file存在则打开file,若file不存在则新建file

    命令模式光标跳转:

             字间跳转:

                       h: 左 、 l: 右 、 j: 下 、 k: 上 (支持上下左右键)

             单词间跳转:

                       w :下一个单词的词首

                       e :当前或下一单词的词尾

                       b :当前或前一个单词的词首

             行内的跳转:

                       Home  ^       将光标跳转到本行的行首

                       End   $          将光标跳转到本行的行尾

                       0                          跳转到绝对行首

             行间的跳转: (#代表任意数字)

                       1G=gg      跳转到文件的首行

                       G                跳转到文件的尾行

                       #G             跳转到文件的#行(命令模式)

                       :#  跳转到文件的#行(末行模式)

        句间移动:

                       ) :下一句 ( :上一句

             段落间移动:

                       }: 下一段 {:上一段

             当前页跳转:

                       H:页首、 M:页中、 L:页低

             翻页移动:

                       PgDn  Ctrl+f 向下翻一页

                       PgUp  Ctrl+b 向上翻一页

    扩展模式基本操作:

             :q      退出

             :q!   强制退出

             :w     保存

             :wq  保存退出 = ZZ = :x

             :X      加密

             :wq!   强制保存退出

             :! 命令    在vim中执行外面命令

             :e file        编辑file

             :w file       将当前文件另存为file

             :r file         读入file文件的内容

    $1$yyzOv8eO$a0q8BUF80SGcJTy8hx0hy/
    
    
    :r!openssl passwd -1     ##扩展模式使用外面命令生成加密字符串读入到文件中

    命令模式字符编辑:

             x   删除光标处的字符;

             #x  删除光标处起始的# 个字符

             xp  交换光标所在处的字符及其后面字符的位置

             ~   转换大小写

             r   替换光标所在处的字符

        R  进入替换模式

             d   删除命令,可结合光标跳转字符,实现范围删除;

             d$  删除到行尾

             d^  删除到非空行首

             d0  删除到行首

             dd  删除光标所在行

             #dd 删除#行

        dG  删到尾行

        dgg 删到首行

             yy     复制当前光标所在行,(支持y$、y0、y^等)

             #yy   复制当前光标向下#行

             p       粘贴

             c      修改,(支持y$、y0、y^等)

             J        合并当前行和下一行

             u       取消最近一次的操作,能多次使用

             U      取消当前行所有的操作

             ctrl+r        对使用u命令撤销操作进行恢复

             .        重复前一个操作

             n.      重复前一个操作n次

    扩展模式地址定界:

             :2,+3            表示2到5行

             :.                      点表示当前行

             :$                    表示最后一行

             :%                   表示全文,相当于1,$

             /p1,/p2              第一次被p1匹配到的行到第一次被p2匹配到的行

    扩展模式字符串查找:

             /world      从上向下查找world

             ?world 从下向上查找world

             n       定位下一个匹配的字串

             N      定位上一个匹配的字串 

    扩展模式字符串替换:

             :s/old/new                将当前行中查找到的第一个字符“old” 串替换为“new”

             :s/old/new/g             将当前行中查找到的所有字符串“old” 替换为“new”

             :#,#s/old/new/g        在行号“#,#”范围内替换所有的字符串“old”为“new”

             :%s/old/new/g           在整个文件范围内替换所有的字符串“old”为“new”

             :s/old/new/c            在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

        :%s/^s*//g    删除行首空格

        :g/^$/d      删除空行

        :5,10s/^/#/g   在5到10行行首插入#号注释 

    可视话模式:

      允许选择的文本块,可代替鼠标。突出显示的文字可以被删除,复制,变更,过滤,搜索/替换等

        v面向字符

        V面向行
        ctrl-v 面向块

    多文件模式:

             vim file1 file2 file3 ...

             :next  下一个

             :prev  前一个

             :first  第一个

             :last  最后一个

             :wall  保存所有

             :qall  退出所有

             :wqall

    多文件窗口:

             vim -o file1 file2 ...

                       -o    水平分割

                       -O    垂直分割

             窗口间切换:ctrl+w

    单文件窗口:

             Ctrl+w,s: split,  水平分割

             Ctrl+w,v: vertical,  垂直分割

             ctrl+w,q :取消相邻窗口

             ctrl+w,o: 取消全部窗口

             : wqall 退出

    定制vim工作特性:

             配置文件:

                       全局:/etc/vimrc

                       个人:~/.vimrc

    1、行号:

             永久修改:

                       在/root/.vimrc文件中添加

                                set nu

                                :set nonu 去掉行号

             临时显示行号:(扩展模式)

                       :set nu               显示行号

                       :set nonu 不显示行号

    2、括号成对匹配:

             匹配:set sm

             取消:set nosm

    3、自动缩进:

             启用:set ai

             禁用:set noai

    4、高亮搜索:

             启用:set hlsearch

             禁用:set nohlsearch

    5、语法高亮:

             启用:syntax on

             禁用:syntax off

    6、忽略字符的大小写

             启用:set ic

             不忽略:set noic

    7、文件格式:

             启用: fileformat=unix

             不忽略:  fileformat=dos

    8、设置文本宽度

             :set textwidth=65 (vim only)

             :set wrapmargin=15

     vim的寄存器:

      有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴版内容,可以不同会话间共享。

       有10个数字寄存器,用0,1,…,9表示,0存放最近复制内容,1存放最近删除内容。当新的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享。

     

  • 相关阅读:
    反射+javacsv+scv文件构建资源获取
    数据库连接池学习
    标准web架构分层
    Luogu P1850换教室【期望dp】By cellur925
    bzoj1179: [Apio2009]Atm 【缩点+spfa最长路】
    Luogu P3946 ことりのおやつ(小鸟的点心) 【最短路】By cellur925
    Luogu P3393 逃离僵尸岛【最短路】By cellur925
    Luogu P4933 大师【dp】By cellur925
    莫队初探(不带修/例题极少)By cellur925
    分层图初探 By cellur925
  • 原文地址:https://www.cnblogs.com/yuezhimi/p/6806570.html
Copyright © 2011-2022 走看看