zoukankan      html  css  js  c++  java
  • VIM

    vim与程序员

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

    但是目前我们使用比较多的是 vim 编辑器。

    vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
    什么是 vim?

    Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

    简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
    vi/vim 的使用

    基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
    命令模式:

    用户刚刚启动 vi/vim,便进入了命令模式。

    此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令

    移动光标
    复制代码

    w(e)  移动光标到下一个单词
    b    移动到光标上一个单词

    数字0  移动到本行开头
    $    移动光标到本行结尾

    H    移动光标到屏幕首行
    M    移动到光标到屏幕的中间一行
    L    移动光标到屏幕的尾行
    gg    移动光标到文档的首行
    G    移动光标到文档尾行

    ctrl + f  下一页
    ctrl + b  上一页

    `.  移动光标到上一次的修改行

    复制代码

    查找
    复制代码

    /chaoge 在整篇文档中搜索chaoge字符串,向下查找
    ?chaoge 在整篇文档中搜索chaoge字符串,向上查找

    •    查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
      

    查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处

    gd 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上

    %    找到括号的另一半!!

    复制代码

    复制,删除,粘贴
    复制代码

    yy 拷贝光标所在行
    dd 删除光标所在行
    D 删除当前光标到行尾的内容
    dG 删除当前行到文档尾部的内容
    p 粘贴yy所复制的内容
    x   删除光标所在的字符
    u 撤销上一步的操作

    复制代码

    数字与命令

    3yy    拷贝光标所在的3行
    5dd    删除光标所在5行

    输入模式

    在命令模式下按下字母i

    即可进入输入模式,可以编写代码啦。。。
    底线命令模式

    在命令模式下输入冒号(英文的:),就进入了底线命令模式,在底线命令模式下可以输入单个或多个字符的命令,常用命令有:
    复制代码

    :q! 强制退出
    :wq! 强制写入退出
    :set nu 显示行号
    :数字  调到数字那行

    随时按下esc可以退出底线命令模式

    复制代码
    vim工作模式

    vim按键

    移动光标
    复制代码

    移动光标的方法
    h 或 向左箭头键(←) 光标向左移动一个字符
    j 或 向下箭头键(↓) 光标向下移动一个字符
    k 或 向上箭头键(↑) 光标向上移动一个字符
    l 或 向右箭头键(→) 光标向右移动一个字符

    向下移动5行      5j
    向右移动10字符    10l

    n(space)    按下数字n,例如10,然后按下空格,光标会向右移动10个字符

    复制代码

    底线命令

    :! command 暂时离开vim指令模式,执行command的结果
    例如 :!ip a 临时看一下ip信息,然后可以回到vim

    :set nu    显示vim行号
    :set nonu    取消行号

  • 相关阅读:
    mac安装protobuf2.4.1时报错./include/gtest/internal/gtest-port.h:428:10: fatal error: 'tr1/tuple' file not found和google/protobuf/message.cc:175:16: error: implicit instantiation of undefined template
    java基础六 [异常处理](阅读Head First Java记录)
    安装和使用iOS的包管理工具CocoaPods
    Node.js的知识点框架整理
    java基础五 [数字与静态](阅读Head First Java记录)
    java基础四 [构造器和垃圾回收](阅读Head First Java记录)
    Appium学习路-安装篇
    Dell笔记本Ubuntu无线网卡驱动安装
    Ubuntu系统使用命令禁用触摸板等输入设备
    linux(ubuntu) 查看系统设备信息
  • 原文地址:https://www.cnblogs.com/lyoko1996/p/11133510.html
Copyright © 2011-2022 走看看