• 【vim】正常模式下的一般操作


    正常模式一般用于浏览文本,其实也就是通过键盘命令让光标在文本中跳来跳去,在任何模式下按一次或两次<Esc>会进入正常模式。

    基本思想

    vim对光标的定位操作非常精确和高效,这是它的一个非常好用的地方。但是,由于按键和按键组合太多太复杂,会让好多初学者望而却步。

    其实,vim的光标定位是有规律的,就好像当初学五笔打字一样,看起来要记很多字根,其实键盘上字根的排列是非常有规律的,一旦清楚这些规律,学习就会心里有数很多。

    vim的光标定位一般需要指定以下几个参数:

    • 移动的范围
    • 移动多少个单位
    • 向前还是向后

    通过这几个参数的组合,可以指定非常自由灵活的定位操作。移动的范围,或者说<单位>从小到大包括字符、单词、行、句子、段落、函数、屏幕、页面和文件。

    常用定位命令

    下面给出不同<单位>对应的基本光标定位指令:

    单位 命令 说明
    字符 h  左移1个字符
    l  右移1个字符(字母l)
    f<c>、F<c>  移动到本行下一个字符<c>、上一个字符<c>
    t<c>、T<c>  移动到本行下一个字符<c>之前、上一个字符<c>之后
    单词 w、W  移动到下一个单词的开头,大写是以空格分隔的单词
    b、B  移动到上一个单词的开头,大写同上
    e、E  移动到当前单词的末尾,大写同上
    *  跳到下一个相同单词
    #  跳到上一个相同单词
    g*  跳到下一个包含当前单词的单词处
    g#  跳到上一个包含当前单词的单词处
    j  向下移动1行
    k  向上移动1行
    0  移动到行首
    ^  移动到行首第一个非空白字符
    $  移动到行尾
    <n>|  移动到当前行第n列,比如12|是移动到第12列
    <n>G  移动到第n行,比如12G是移动到第12行
    +  移动到下一行第一个非空白字符处
    -  移动到上一行第一个非空白字符处
     句子   移动到句尾
     移动到句首
    段落 }  移动到段尾
    {  移动到段首
    %  跳转到匹配的括号,如果光标在括号中间,移动到前一括号
    函数  }  到下一个空行
    {  到上一个空行
    ]]  到下一个行首的{
    [[  到上一个行首的{
    ][  到下一个行首的}
    []  到上一个行首的}
    gd  到当前局部变量的定义处
    屏幕  H  移动到屏幕最上面一行
     M   移动到屏幕中间一行
    L  移动到屏幕最下面一行
    <Ctrl>+e  屏幕向下滚动一行,光标不动
    <Ctrl>+y  屏幕向上滚动一行,光标不动
    zt  将当前行移动到屏幕顶端
    zz  将当前行移动屏幕中间
    zb  将当前行移动到屏幕底端
    页面  <Ctrl>+f  向下滚动一页
    <Ctrl>+b  向上滚动一页
    <Ctrl>+d  向下滚动半页
    <Ctrl>+u  向上滚动半页
    文件  gg  移动文件开头
    G  移动文件末尾
    <n>%  移动到文件n%处,比如30%是定位到文件30%处

    还有:

    [+ctrl+i   跳转到函数、变量或宏的定义处
    [+ctrl+d  跳转到宏定义处
    ctrl+i     跳到下一次光标位置(相当于浏览器的前进)
    ctrl+o    跳到上一次光标位置(相当于浏览器的后退)

    组合命令示例

    上文已经说了,通过灵活地进行定位参数组合,可以实现灵活的光标定位操作,以下是一些示例。

    6j 往下移动6行
    ge 移动到上一个单词的最后一个字符
    3fx 移动到本行下3个字符x
    4$ 移动到本行下面第4行的末尾字符
    3H 移动到屏幕下面第3行

    当加上编辑命令(复制,剪贴等,后面文章介绍)后,组合会更复杂而灵活。

    不常用的定位命令

    ga   查看光标处字符的ascii码
    g8  查看光标处字符的utf-8编码
    .  (小数点) 可以重复上一次的命令
    <n><Command>  重复某个命令n次

     

    【参考】

    1. https://www.ibm.com/developerworks/cn/linux/l-cn-tip-vim/
  • 相关阅读:
    数据库设计的几个建议
    CAS单点登录和spring securtiy集成
    冒烟测试
    匠人精神
    iOS UIButton 设置图片文字垂直排列
    PHP字符串处理函数
    php 数组的常用函数
    Linux中常用操作命令
    yii2.0高级框架配置时打开init.bat秒退的解决方法 (两种方法)
    前端优化网站性能的14条规则
  • 原文地址:https://www.cnblogs.com/zzqcn/p/4656518.html
Copyright © 2020-2023  润新知