• vim 使用


     

    要做个Linuxer,VIM的操作是必须就跟手指头盲打键盘那么熟练。

    首先说下Vim的两种最常用模式,这是对菜鸟说的:),普通模式和输入模式,在普通模式下所有的按键都是命令,在输入模式下
    可以输入字符。

    在刚用vi打开文档时,都是普通模式,本文就介绍如何快速记住一些最基本的操作命令。

    先讲讲在普通模式下的光标移动。

    当你的打字速度到达一定境界时,比如我:),我非常不喜欢把手移到小键盘或者方向键那里去,因为那个地方操作起来太慢严重影响我心情有木有,所以VIM就是为高效的人设计的,它充分认识到这一点,在VIM里上下左右风别被 j k h l 代替,

    h:在最左边,当然是左移动啦!
    l:同理,在最右边,右移动!
    j:当刚打开一个文件,是不是一般都在开头,要往下移动啊!标准指法里右手食指在J上,用的最频繁,因此就用J来往下移咯!
    k:有下移动当然得下移动,就在J旁边吧,多好记!
    但是每次只移动一个,好麻烦!
    如果我要往下移动五行,按五次不是要累死我,而且磨损键盘!
    高效的VIM当然已经解决问题,
    在hjkl前加数字,比如3j就是向下移动三行,3l即使向右三行啦!

    但是虽然hjkl移动很方便,但是只能逐个字符移动,好不爽,我想一个一个单词的移动,
    w 可以解决,你用w就可以很方便的每次移动单词,
    怎么记住这个快捷键呢,w就是word的缩写啊,亲!
    w是向右移动一个单词,想移动多个单词,和上面一样加个数字就可以来,3w向右移动三个单词。
    能向右移还得向左移动啊,b可以解决这个问题,b是back的缩写,后退一个单词嘛!3b的意思你懂的。
    随便这里提下,w在移动过程中是每次光标都停留在单词的首字符,想让光标在移动中停留在尾字符或者
    在一个单词中想跳到单词的尾字符,用“e”,end嘛

    简单的移动掌握上面几个键就可以了,当然还得知道有时候我想快速移动到一行的开头和结尾怎么办呢,
    数字“0”,第0个字符的意思,就可以将光标移到一行开头处,符号“$”,就是美元的符号,移动到行尾。

    移动先介绍这么几个常用的,再讲讲文本操作

    对文本的操作,当要求不怎么高时,无非就是插入文字,修改文字,删除文字,或者复制剪切粘贴这么几种。

    插入文字,因为是insert,快捷键就是“i”,但是用你想在一行末尾插入的时候,用i就蛋疼了,因为i是在光标
    前面插入字符,所以末尾插入字符就等于在倒数第二个字符的地方插入了!这时候要用”a“,a和i的功能完全一样,
    add的缩写,增加的意思,在光标的后面插入字符。
    有时候,特别是敲代码的时候,我们要另起一行对吧,在上一行的任意位置按“o”,open new line ,哈哈,你已经在
    新的一行插入文字咯

    修改文字,change,快捷键“c”,不过在普通模式下你按一个c没反应,为啥?你还没告诉VIM你要修改的对象呢,
    光标停在那里,我是修改这个单词呢,还是要修改一整行呢。
    cw,w是移动一个单词的快捷键,cw的意思就是对光标当前所在出到这个单词的结尾修改,cb的意思我就不说了。
    那c2b呢?,嘿嘿,从光标往前两个单词修改!
    c0,c$,分别是光标到本行开头和结尾的所有文本修改。

    发现奥妙了吧,移动命令和文本操作命令可以搭配起来用有木有,这正是VIM最强大的地方,各个命令可以组合使用。
    其实我们可以这么考虑,在移动命令中,如果按照word里边按住shift的思维,移动是不是就等于选中?移动的轨迹就是
    文本的选择对象!所以在vim里一般的命令格式为
    (command)(number)(text object)
    command就是对文本的操作,“c”是修改,“d”是删除,“y”是复制等,number + text object 组合起来就是命令
    所要操作的文本对象啦!
    比如d2h,d是删除,2h是往左两个字符,那d2h就是删除光标左边的两个字符咯!
    举一反三,各种组合等你实际应用中再用吧。

    现在比如我有一个单词,love,不小心写成了loce,要把c改成v,如果我们用命令“c”的话,我们需要先定位到e,然后
    c1h,改一个字符用得着这么麻烦嘛?当然不用,把光标移动到”c”上,输入rv即可!r是replace,也是替换对吧,他的功能就是
    替换一个字符,在r后面跟着的v就是新文本。很方便对不,~~~……
    对应删除d,要删除一个字符,用x就可以了! x就是小学老师给我们打的大叉叉么,嘿嘿。

    有时候我们不小心手贱,安了一个x,想撤销怎么办?
    vim当然已经给我们考虑好了,你按“u”,u即是undo,就跟word一样,多次按u就是撤销多次哦~

    插入修改删除我们都会了,下面我们来讲怎么剪切复制粘贴呢?
    这时候我们要用到“p”命令,p就是place嘛,放置的意思。
    前面我们说了删除命令“d”和“x”,其实删除就是剪切嘛,这些被删除的文本会被放到缓冲区中,
    ”p“命令会将缓冲区的中文本加入到当前光标的后面,如果我们用了d3j删除了3行,对于多行的文本,
    p会放置在当前光标的下一新行。
    对于x,有个妙用,还是用love这个单词吧,如果我输入成了loev,那我只要把光标移动到“e”上,然后xp就搞定了!
    呵呵,x先把当前字符给删除了,这时候光标在“v”,然后我们用p把“e”放到“v”后面,就完成两个字符的对掉啦。
    剪切粘贴你也会了,复制怎么办呢,用”y“,比如yw,复制了一个单词,到想要放置的地方,p就好啦。

    还得介绍几个非常规的组合。
    cc,c更改,两个c算啥?两个c代表更改一整行
    dd,删除一整行,
    yy,复制一整行

    VIM 是对命令的大小写敏感的,上面介绍的全是最基本的小写指令,下面来看看那大写命令的快捷之处!

    想到本行的开头插入吗?用“I”
    想到本行的末尾插入吗?用“A“
    想在本行的上一行新开一行写代码吗?用“O”
    想把剪切后者复制的文本放在光标之前吗?用“P“
    想在移动过程中撇开那些烦人的标点嘛?用“W”,“B”,“E”

    C是c$的缩写,即是从当前光标到本行末尾的所有文本更改
    D是d$的简写

    现在我有两行句子:

    I love you ,please
    come back.

    上述两个句子应该在同一行对吧,我不用吧光标移动到第二行,然后按i进入插入模式,然后再来个退格键。
    我只需吧光标移到第一句,用一个”J“就搞定了~

    在英文中每个句子的开头第一个字母要大写对吧,万一我当时没大写然后我要改呢,传统做法,把光标移动上去,
    然后rA,文艺青年,把光标移动到上面,用“~”搞定,这个符号在“1”的左边,按住shift键。

    再介绍一个有用的命令,“.”,就是句号,vim会记住你上次操作是什么,然后用“.”就可以重复执行上次命令!

    学完上述这些基本操作,就可以在黑乎乎的屏幕上装逼一把啦~!
    当然vim的功能远远超过这些。

    一个一个字的打出来的,真心累,输入法 又不给力。。。

    转自 http://cryinstall.com/?p=104

  • 相关阅读:
    Linux 命令大全
    MySQL 存储 utf8mb4
    PHP房贷计算器代码,等额本息,等额本金
    laravel 原生 sql
    include_once 问题
    laravel count distinct
    微信小程序显示cms里的html文章
    PHP文件上传
    Ajax做无刷新分页
    PHP封装返回Ajax字符串和JSON数组
  • 原文地址:https://www.cnblogs.com/loongqiang/p/3430510.html
Copyright © 2020-2023  润新知