zoukankan      html  css  js  c++  java
  • 原生态Vim使用快捷键

    我的第一篇博客,凌晨2点加班不想睡,随便写点。本人菜鸟一个,努力学习,争取成为大神。。

    第一篇写点什么东西呢,我目前是搞运维的,俗话说"工欲善其事必先利其器",Vim作为最基本的工具,正好这两天整理了一下,就写点关于vim的吧。

    标题叫做原生态vim,原生态什么意思呢,就是说不安装任何插件的意思。。。。好了,废话不说了,上干货!!!!

    原文相关链接:

    1.http://coolshell.cn/articles/1679.html vim分屏使用相关介绍

    2.http://coolshell.cn/articles/11312.html 无插件vim编程技巧

    3.http://coolshell.cn/articles/5426.html/comment-page-9#comments vim练级攻略

    vim练级攻略中将vim使用分成的四个阶段,因此本次文档也将按照这个四个阶段进行梳理,四个阶段分别是:

    1.存活(初级入门);

    2.感觉良好;

    3.觉得更好,更强,更快;

    4.使用VIM的超能力;

    一.存活(初级入门)

      1.vim模式介绍

      1) Normal模式, 启动vim以后自动进入Normal模式
      2) Insert模式, 按下i键进入insert模式,此时屏幕左下角出现 -- INSERT -- 字样。在此模式下你可以像用"笔记本"那样, 
         ESC键返回Normal模式
    2.快捷键介绍
    
      i     -> insert模式, 按ESC返回Normal模式
      x     -> 删除当前光标所在的一个字符
      :wq   -> 保存并退出
      dd    -> 剪切光标所在的行
      p     -> 粘贴剪贴板
    
    推荐:
      hjkl在Normal模式下,使用hjkl分别代表←, ↓, ↑,方向键进行光标移动。
      :help <command> -> 显示相关命令的帮助。你也可以就输入:help而不跟命令,使用:q退出

    二.感觉良好阶段

    本阶段介绍的命令全部都在Normal模式下使用。若果你不知道什么是Normal模式,请看第一阶段,或者多按几次ESC键
    
    1.各种插入模式快捷键
      a -> 在光标后插入
    A -> 在光标行最后插入 o -> 在当前行后插入新的一行 O -> 在当前行前插入新的一样 I -> 在当前行的最前面插入 cw -> 替换从光标所在位置后到一个单词结尾的字符 2.简单的移动光标 0 -> 数字零, 到行头 ^ -> 到本行第一个不是blank字符的位置(所谓blank字符就是空格, tab, 换行, 回车等) $ -> 到本行行尾 g_ -> 到本行最后一个不是blank字符的位置 /pattern -> 搜索pattern的字符串(如果搜索出多个匹配, 可按n键到下一个, N键到上一个) 3.拷贝/黏贴 P -> 粘贴,当前光标行的上一行 p -> 粘贴,当前光标行的下一行 yy -> 拷贝当前行

    三.更好,更强,更快

    1.更好
      . -> 小数点,可以重复上一次的命令
      N<command> -> 重复某个命令N次
    
    2.更强
      NG -> 到第N行,也可以使用:N,比如:3,跳到第三行
      gg -> 到第一行
      G  -> 到最后一行
      w -> 到下一个单词的开头
      e -> 到下一个单词的结尾
        如果你认为单词是默认方式,那就么就用小写e和w。默认上来说,一个单词有字母,数字和下划线组成
        如果认为单词是由blank字符分隔, 那么你需要使用大写的E和W
      *和# -> 匹配光标当前行所在的单词, 移动光标到下一个(或上一个)匹配单词
    
    3.更快
      一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。
      <start position><command><end position>
      例如: 0y$命令意味着
      0 -> 先到行头
      y$ -> 从这里开始拷贝, 到本行最后一个字符结束
      ye -> 从当前位置拷贝到本单词的最后一个字符
      y$ -> 从当前位置拷贝到本行最后一个字符
      v$ -> 选中当前位置到本行最后一个字符
      gU -> 选中的字符变大写
      gu -> 选中的字符边小写
    
      字符含义介绍:
      d -> 删除
      v -> 可视化的选择

    四.Vim超能力

    1.在当前行上移动光标: 0, ^, $, f, F, t, T
      0 -> 数字零, 到行头
      ^ -> 到本行第一个不是blank字符的位置(所谓blank字符就是空格, tab, 换行, 回车等)
      $ -> 到本行行尾
      fa -> 到下一个为a的字符处, 你也可以fs到下一个为s的字符
      t, -> 到逗号前的第一个字符。逗号也可以是其他字符
      3fa -> 在当前行查找出第三个出现的a
      F和T -> 和f和t作用是一样,只不过光标移动的方向相反
      dtd ->删除所有的内容,直至遇到d字符
    
    2.区域选择<action>a<object>或<action>i<object>
      action可以是任何的命令,如d(删除), y(拷贝), v(可视化模式选择)
      object可能是: w一个单词, W一个以空格为分隔的单词, s一个句子, p一个段落, 也可以是一个特别的字符 )、]、}等
    
      假设你有一个字)符串(map (+) ("foo")). 而光标键在第一个o的位置.
      vi" -> 会选择foo "
      va" -> 会选择"foo" "
      vi) -> 会选择 "foo"
      va) -> 会选择 ("foo")
      v2i) -> 会选择 map (+) ("foo")
      v2a) -> 会选择 (map (+) ("foo"))
    
    3.块操作
      典型的块操作: 0 Ctrl+v Ctrl+d I 进入Insert模式 ESC
    
    4.自动提示
      Ctrl+N 和 Ctrl+P
      在Insert模式下,你可以输入一个单词的开头,然后按Ctrl+N或者是Ctrl+p, 自动补齐功能就出现了.
    
      5.vim分屏操作
      1)分屏启动
        a.使用大写的O参数来垂直分屏
          vim -On file1 file2 file3 ...
        b.使用小写的o参数来水平分屏
          vim -on file1 file2 file3 ...
        注释: n是数字, 表示分成几个屏幕
      2)关闭分屏
        Ctrl+W  c
      3)分屏
        a.上下分割当前打开的文件
          Ctrl+W s
        b.上下分割,并打开一个新的文件
          :sp filename
        c.左右分割当前打开的文件
          Ctrl+W v
        d.左右分割,并打开一个新的文件
          :vsp filename
      4)移动光标
        a.把光标移到右边的屏幕
          Ctrl+W h
        b.把光标移到左边的屏幕
          Ctrl+W l
        c.把光标移到上面的屏幕
          Ctrl+W k
        d.把光标移到下面的屏幕
          Ctrl+W j
       5)分屏同步移动
         要让两个分屏中的文件同步移动,很简单,你需要同步移动的两个屏中都输入如下命令
         :set scb
         如果你需要解开,那么输入下面的命令
         :set scb!
    
      6.vim操作一个目录
        直接vim一个目录,你会进入一个页面,通过j,k键进行上下移动,进入一个目录或者打开一个文件。
        - -> 到上一级目录
        D -> 删除文件(大写)
        R -> 改在文件名(大写)
        s -> 对文件排序
        x -> 执行文件
        :cd <dir> -> 改变当前目录
        :pwd -> 查看当前目录
    
      7.保存会话
        如果你打开了好些个文件,还设置了各种滚屏同步,或者是行号等等,那么,你可以用下面的命令来保存会话:
          :mksession ~/.mysession.vim
        如果文件重复,vim默认会报错,如果你想强行写入的话,你可以在mksession后面加上!
          :mksession! ~/.mysession.vim
        于是下次,你可以这样打开这个会话:
          vim -S ~/.mysession.vim

    差不多上面这些掌握了使用vim就很流畅了,不建议一次性全记住,可以每天学习2个快捷键。
    下一篇,准备介绍tmux这个运维神器。
  • 相关阅读:
    js判断选择时间不能小于当前时间的代码
    shell脚本编程之for语句、if语句使用介绍
    linux命令 chattr超级权限控件
    教你配置linux服务器登陆欢迎信息
    PHP基础入门教程 PHP循环函数
    php获取客户端ip地址
    PHP获取域名、IP地址的方法
    两日期间的间隔
    mysql 案例 ~ pt-archiver 归档工具的使用
    mysql 案例 ~ pt修复工具的使用
  • 原文地址:https://www.cnblogs.com/mountaingeek/p/5894650.html
Copyright © 2011-2022 走看看