zoukankan      html  css  js  c++  java
  • [Vim练级攻略] Vim基础操作

    在正式使用Vim之前,先来点开胃菜,学习下Vim中一些常用的命令,有了这些基本命令,才能让我们使用Vim更加得心应手,加快工作的效率~

    注意:接下来将要介绍的命令主要是用在Vim的Normal模式下。



    一 创建/修改文件

    当需要对一个文件进行编辑时,首先这个文件得存在。你可以使用Vim创建或修改文件(假设文件名为hahaya.cc),在终端下执行 Vim hahaya.cc,这条命令会打开hahaya.cc文件,当hahaya.cc这个文件不存在时,Vim会创建这个文件并打开。



    二 在Vim中打开/保存/退出/修改文件

    (1) :e filename < - > 打开文件filename,注意filename包含文件路径

    :e ~/hahaya.cc 打开主目录下的hahaya.cc文件

    (2) saveas filename < - > 文件另存为,注意filename包含文件路径

    (3) :w < - > 文件保存

    (4) :q < - >  不保存退出,回到终端下

    (5) :q! < - > 不保存强制退出

    (6) :wq < - > 保存退出

    (7) :wq!   < - > 强制保存退出

    (8) :bn < - > 打开多个文件时,使用该命令切换到下一个文件

    (9) :bp < - > 打开多个文件时,使用该命令切换到上一个文件



    三 各种插入模式

    前面说到过从Normal模式进入Insert模式有很多种方法,下面介绍几种常用的方法

    (1) i < - > 在光标前插入,进入到Insert模式

    (2) a < - > 在光标后插入,进入Insert模式

    (3) o < - > 在当前行后插入一行,进入Insert模式

    (4) O < - > 在当前行前插入一行,进入Insert模式

    (5) cw < - > change word,替换光标当前所在位置到该单词结尾的字符,其实实际效果是删除,进入Insert模式



    四 简单的光标移动

    (1) h < - > 将光标向前移动一个字符

    (2) j < - > 向下移动一行

    (3) k < - > 向上移动一行

    (4) l < - > 将光标向后移动一个字符

    (5) 0 < - > 数字0,移动到光标所在行的行头

    (6) ^ < - > 移动到本行第一个不是blank字符的位置(所谓blank字符就是空格、Tab、换行、回车等)

    (7) $ < - > 移动到本行行尾

    (8) g_ < - > 移动到本行最后一个不是blank字符的位置

    (9) G < - > 移动到本文件的最后一行

    (10) NG < - > 移动到本文件的第N行

    (11) gg < - > 移动到本文件的第一行



    五 拷贝/粘贴

    (1) yy < - > 拷贝当前行

    (2) Nyy < - > 拷贝从当前行开始的总共N行

    (3) p < - > 小写p,粘贴拷贝的内容



    六 删除

    (1) dd < - > 删除当前行,并把删除的行存放在剪切板中,所有可以使用p进行粘贴

    (2) Ndd < - > 删除当前行开始的总共N行,并把删除的行存放在剪切板中,所有可以使用p进行粘贴



    七 撤消

    (1) u < - > 撤消上一次操作

    (2) Ctrl-r < - > 同时按下Ctrl和r键,对u的撤消



    Vim中的命令确实比较多,所以记忆起来十分困难,就算记住了,然后不用,那么一段时间后还是会忘记,所以学习Vim命令最好的方法就是:多练,这样不知不觉中就会将Vim的命令牢牢的记住~

  • 相关阅读:
    [算法专题] 深度优先搜索&回溯剪枝
    [算法专题] 二分搜索&排序数组
    rand_1tom 产生 rand_1ton
    [LeetCode] Kth Largest Element in an Array
    进程控制(Note for apue and csapp)
    Transport Layer Protocols
    Internetworking
    Dynamic Programming | Set 4 (Longest Common Subsequence)
    Dynamic Programming | Set 3 (Longest Increasing Subsequence)
    Dynamic Programming | Set 2 (Optimal Substructure Property)
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3063475.html
Copyright © 2011-2022 走看看