zoukankan      html  css  js  c++  java
  • vim编辑器操作笔记

    vim编辑器功能非常强大,对应的快捷操作也很多,同样网上也有很多博客教程。这里是按自己的使用思路,对常用到的功能做一个简练的笔记,随着实践中不断用到的更多功能再补充完善。

    一、vi/vim是什么?

    vi - Visual Interface

    即可视化界面编辑器。

    vim - Vi IMproved, a programmers text editor

    即为vi的增加版,具有语法着色功能,尤其适用于程序文本编辑。

    vim的配置文件:

    -- 全局vim配置文件
    /etc/vimrc
    -- 个人vim配置文件
    ~/.vimrc
    -- 配置root用户vim文件时显示行号
    echo "set nu" >> /root/.vimrc

    二、vim的模式

    如上图示,vim有3种模式。

    命令模式切换为输入模式:

    i:在当前光标所在字符的前面,转为输入模式
    I:在当前光标所在行首,转换为输入模式
    a:在当前光标所在字符的后面,转为输入模式
    A:在当前光标所在行尾,转换为输入模式
    o:在当前光标所在行的下方新建一行,并转为输入模式
    O:在当前光标所在行的上方新建一行,并转为输入模式
    s:删除光标所在字符
    r:替换光标处字符

    2.1 命令模式 command mode

    初始进入vim时的模式,主要的编辑操作命令也都集中在此模式。后文中如不特别说明是末行命令模式,则默认为此命令模式下的操作方法。

    -- 撤销
    u
    -- 恢复
    ctrl+r


    -- 删除当前光标字符(剪切同删除)
    x
    -- 复制基础命令,一般要在高亮模式或搭配光标移动命令使用,见下文
    y
    -- 复制当前行
    yy
    -- 相应的从当前行开始复制n行为nyy
    nyy

    -- 删除基础命令,一般要在高亮模式或搭配光标移动命令使用,见下文
    d
    -- 删除当前行
    dd
    -- 相应的从当前行开始删除n行为ndd
    ndd


    -- 粘贴(在光标后面),如果删除的或复制的为整行内容,则粘贴到光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面

    -- 粘贴(在光标前面),如果删除的或复制的为整行内容,则粘贴到光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面

    -- 重复上一次编辑操作,如输入dd删除行之后,再输入.就可以重复dd删除行的操作
    .

    高亮模式(可视化模式),用于选择文本。

    -- 字符模式
    v
    -- 行模式
    V 
    -- 块模式
    ctrl+v

    2.2 插入模式 insert mode

    正常录入的模式。

    2.3 末行命令模式 last line mode

    主要用于以下操作。

    -- 保存
    w
    -- 退出 q
    -- 保存并退出 wq 或 x
    -- 强制保存,管理员才有权限 w!
    -- 强制退出 q!

    查找:

    -- 从当前位置向后查找
    /PATTERN
    -- 从当前位置向前查找
    ?PATTERN
    -- 向下查找
    n
    -- 向上查找
    N

    替换:

    -- 替换,n1为起始行,n2为结束行,g表示全局,i表示忽略大小写
    n1,n2s/Pattern/String/gi
    -- 替换全文的一为1,1,$或1,%表示全文
    1,$s/一/1/gi
    -- 替换10-20行的一为1
    10,20s/一/1/gi

    选择多行的操作:

    -- 复制n1到n2行
    n1,n2y
    -- 复制第10行
    10y
    -- 复制第10-20行
    10,20y -- 删除n1到n2行 n1,n2d
    -- 删除第10行
    10d
    -- 删除第10-20行
    10,20d

    还有许多其它的便利性功能。

    -- 显示行号
    set nu
    -- 取消显示行号
    set nonu
    -- 忽略大小写
    set ic (set ignorecase)
    -- 大小写敏感
    set noignorecase
    -- 开启自动缩进
    set ai (set autoindent)
    -- 取消自动缩进
    set noai
    -- 高亮显示匹配文本
    set hlsearch
    -- 取消高亮显示匹配文本
    set nohlsearch
    -- 打开语法高亮显示
    syntax on
    -- 关闭语法高亮显示
    syntax off -- 执行bash命令,列举/etc目录,按Enter回到vim编辑状态 ! ls /etc/

    三、vim的光标移动

    行内跳转:

    -- 行首
    Home 或 0
    -- 行首第一个非空白字符
    ^
    -- 行尾
    End 或 $

    行间跳转:

    -- 跳转到第n行
    nG
    -- 跳转到第一行
    1G -- 跳转到最后一行 G
    -- 向下移动n行,如1$表示当前行尾,2$表示下一行的行尾
    n$
    -- 末行模式下跳转到第n行
    输入行号n后回车即可

    逐字符移动:

    -- 左、下、上、右
    h、j、k、l
    -- 移动n个字符
    nh、nj、nk、nl

    以单词为单位移动:

    -- 下一个词首
    w
    -- 下一个词尾
    e
    -- 上一个词首
    b
    -- 移动n个单词
    nw、ne、nb

    翻屏:

    -- 向上翻一屏
    Ctrl+b
    -- 向下翻一屏
    Ctrl+f
    -- 向上翻半屏
    Ctrl+u
    -- 向下翻半屏
    Ctrl+d

    配合光标跳转命令的复制(剪切、删除同理):

    -- 复制到行首
    y0 或 y^ 或 y Home
    -- 复制到行尾
    y$ 或y End
    -- 复制一个word
    yw 相应的复制n个word为ynw,如y3w
    -- 复制到文件尾
    yG
    -- 复制到文件首
    y1G

    四、Vim的分屏及多文件操作

    同时打开多个文件:

    -- 打开file1,file2,file3
    vim file1 file2 file3
    -- 末行命令模式下切换文件
    next 
    prev 
    last 
    first
    -- 全部退出
    qa

    分屏编辑一个文件:

    -- 水平拆分窗口
    ctrl+w s
    -- 垂直拆分窗口
    ctrl+w v
    -- 窗口间切换光标
    ctrl+w Arrow或hjkl
    -- 末行命令模式下退出所有窗口
    :qa

    分屏编辑多个文件:

    -- 水平分割显示
    vim -o file1 file2
    -- 垂直分割显示
    vim -O file1 file2

    将当前文件中部分内容保存为另外一个文件:

    -- 末行模式下,将当前文件另存为到路径指定的文件
    w /path/file
    -- 末行模式下,将n1到n2行文本另存到路径指定的文件
    n1,n2w /path/file

    将另一个文件的内容填充在当前文件中:

    -- 末行命令模式下,将file内容附件到当前文件光标位置
    :r /path/file

    五、vim的剪贴板

    vim 有 12 个粘贴板,分别是
    0、1、2、...、9、a、"
    其中"为临时粘贴板,比较特殊,直接按 y 就复制到这个粘贴板中了,直接按 p 就粘贴这个粘贴板中的内容。
    另外,+为系统粘贴板,“+y复制,”+p粘贴或shift+insert粘贴 ,即与系统其它ctrl+c,ctrl+v也相通。
     
    剪贴板操作:
    -- 查看各个粘贴板里的内容
    :reg 
    -- 双引号+粘贴板号+y,复制到某个粘贴板,例如"ay 复制到粘贴板a
    "ny
    -- 双引号+粘贴板号+p,从某个粘贴板粘贴,例如"ap 从粘贴板a粘贴
    "np
     

  • 相关阅读:
    codevs 1199 开车旅行 2012年NOIP全国联赛提高组
    poj 3349 Snowflake Snow Snowflakes
    poj 3264 Balanced Lineup
    求二进制数中1的个数
    20个正则表达式,减少千行代码
    推流脚本
    Navicat 管理工具下载地址,破解版
    emoji表情处理研究
    计算机网络学习
    tcp/ip 学习-通过视频学习
  • 原文地址:https://www.cnblogs.com/jiujiduilie/p/13794135.html
Copyright © 2011-2022 走看看