zoukankan      html  css  js  c++  java
  • vim 编辑器简单使用总结

    http://blog.csdn.net/sharp_allen/article/details/27075133转载

    说了这么多,其实还少一个和word,记事本一样的编辑器,在各个操作系统都有编辑器,在linux里也有,比如gedit编辑器,很方便。在终端里直接敲击gedit即可打开这个编辑器。保存到桌面,名字为geditfiles,再终端里使用ls命令查看: 

    gedit就是一个全屏幕的编辑器!!还有一个编辑器叫做kate编辑器,可以在里面直接敲命令等,图形界面的东东,和windows下的没什么区别,还有其他的一些。

    注意:

    如果我们通过远程登录进入linux操作系统的话,是没有图形界面的,只有字符界面,这几个都用不了,那么可以使用字符编辑器vim(在unix里叫vi)。

    运行一个vim,可视化的编辑器

    vi是一种全屏幕的文本编辑器,光标可以全屏幕的跑,一个纯字符界面的,远程终端可以使用。

    Vi有两种状态,初始的时候是命令状态,还有一种状态是插入状态。

    而命令状态下,会分出一种模式叫底行模式。底行模式属于命令状态的。

    在命令状态下,输入的内容都被当作命令看待,相反,插入状态下,都把内容当作文字!需要哪种状态,就进入即可。

    如何退出和 保存?

    在命令状态下使用冒号+q+叹号(:q!)这三个按键的组合,在组合中,叹号!表示强制执行的意思,因为这个命令是不保存就强制退出的。没有保存就退,那就是强制啊!

    使用:wq是保存然后退出

    :x也是保存退出

    使用大写的ZZ也是保存退出(不提倡使用)

    使用:w 文件名字  是只存为新文件不退出

    注意:在插入状态下不管用,因为全部当作文字处理了,必须按esc之后,先进入命令状态下再进行命令的操作才能用。

    如图这种输入冒号就在底行的命令状态也叫底行模式。

    注意:以后在linux下写c和c++程序几乎都用这个来写了!

    如何移动光标呢?

    vi提供了一些键盘操作光标的功能。(在命令状态下了)

    比如右手上经常按住的hjkl四个键,hl是左右,j是往下面移动,k是上面移动。当然,直接使用光标移动也可。

     

    移动到行首:使用命令数字0,或者直接按home键

    移动到行尾:使用命令shilft+4即可,或者$符号,或者按end键,但是一些unix系统不支持,所以还是命令比较好。

    移动到屏幕的行首:使用字母H(head,注意区分大小写!!!!!!!大写H,小写h是向左移动光标)。

    移动到屏幕的末尾:使用字母 L(last,同样是大写L,小写l是向右移动光标)

    移动到屏幕中间使用字母:M(大写字母M,middle)

    翻页 ctrl+f  (forward前进)

    后退 ctrl+b (backward回退)

    想要到某一行去:用冒号: 加行号,或者行号+G

    w移动到下一个单词的开头

    b移动到上一个单词的开头

    e移动到下一个单词的末尾

    注意:

    这些命令都是在命令状态下操作,而键盘的按键是可以在插入状态下使用。

    插入i   a  o 或者insert按键

    i是正规的从命令模式进入插入模式,是在光标位置前面去插入(insert)

    a原来光标位置后面插入(append附加;添加;贴上;签(名))

    o在光标位置下面重启一行,不会截断原来的行

    iao都是小写的,而以下是大写的IAO:

    I 在行首插入

    A 在行尾追加插入

    O 在光标位置上面插入空行,注意小写的o是在光标位置下面插入一行。

    注意:

    insert是命令,插入,覆盖状态之间的转换

    显示和取消行号:

    : set nu显示行号在左边

    : set nonu取消行号

    打错字了,还可以删除字符,在插入模式下用delete,或者Backspace键(最好是在插入状态下删除),在命令模式下使用命令比较好,因unix下一些不管用:

    删除:小写的x 是删除一个字符(光标位置的)

    删除一串;使用 n+x 删除n个字符,这是给x命令指定删除的字符数。但是一般都是在本行删除,多了不会到下一行,以免误操作。

    dw删除到下一个单词的开头(deleteword)

    de删除到本单词的结尾(delete end)

    db删除到本单词的开头(deletebegin)

    dd删除一整行 3dd删除3行

    删除从光标位置到行尾d$

    删除到行首d0

    :9,16删除第9到16行

    删除错了,我们还可以恢复:

    小写的u 命令(undo撤销,按照系统不同,有的支持恢复次数也不一样,看情况,但是都至少支持恢复一次)

    小写p是删除之后(东西在vi的剪贴板里)再粘贴到vi编辑器,4p重复插入4次,粘贴在光标位置之后

    注意:

    大写的P粘贴在光标位置之前

    小写的p在后面粘贴

    有些类似剪切

    移动(move的缩写m)

    :8,11m18从第8行到11行移动到第18行后面

    dd剪贴(删除)一行,3dd剪贴3行,p粘帖

    复制(copy的缩写co)

    :8,11co18

    复制一个字符使用yl,相应的3yl 复制3个字符,粘贴使用p

    yw(word)复制一个单词(带末尾的空格)

    ye不带末尾的空格!

    yy复制一行,而复制3行是3yy

    替换(replace的缩写r)

    r+替换内容,4r替换4个字符

    s把一个字符换成多个字符

    cw(change word)替换整个单词  cw ce

    cc替换一整行  c0  c$都一样,就这些。

    :5,8s/wf/妻子/g  5到8行把所有的wf替换成妻子,g表示全部

    全文替换:先用ctrl+g 得到这个文件多少行

    :1,38s/wf/妻子/g

    也可以

    :1,$s/wf/妻子/g  $表示最后一行

    :%s/wf/妻子/g  %表示从第一个到最后一行

    ~可以把大写换成小写,小写换成大写

    查找:/后面开始找和?前面开始找

    /a  查找当前光标所在位置后面的a

    ?q  查找当前光标所在位置前面的q字符,也就是往回找。

    注意:光标当前停留在哪里,就是找到了哪里,如果继续找,则按n(next)即可继续往下找。到结尾则提示你查找到结尾了。

    欢迎关注

    dashuai的博客是终身学习践行者,大厂程序员,且专注于工作经验、学习笔记的分享和日常吐槽,包括但不限于互联网行业,附带分享一些PDF电子书,资料,帮忙内推,欢迎拍砖!

  • 相关阅读:
    React开发小问题记录
    React 生命周期
    CSS 函数
    React props
    React State 状态
    React 组件 复合组件
    React JSX语法
    js动态创建标签,并设置样式。
    jq 二级筛选切换
    从算法看背包问题(1)
  • 原文地址:https://www.cnblogs.com/kubixuesheng/p/4510239.html
Copyright © 2011-2022 走看看