zoukankan      html  css  js  c++  java
  • vim 常用快捷键(整理版)

    编辑模式

    • o open a line below

    • i insert

    • a appen

    • I insert a line before

    • A appen a line below

    • O appen a line above

    全局替换(Java替换为Python)

    	% s/Java/Python/g
    

    语法高亮

    	syntax on
    

    Visual模式

    • v 选择模式
    • V 选择整行
    • ctrl + v 多行

    插入模式小技巧

    如何快速修错

    • ctrl + h 删除上一个字符
    • ctrl + w 删除上一个单词
    • ctrl + u 删除整行

    进入最后一次编辑的位置(插入模式)

    gi

    vim快速移动

    • 反人类的hjkl

    单词之间的移动

    • w 移动到下一个单词的开头
    • e 移动到下一个单词的结尾
    • b 移动到上一个单词的开头(backword)

    行间移动(移动至本行搜索字符位置)

    • f{char} 移动到char字符
    • F{char} 反向搜索本行char字符
    • t{char} 移动到char前一个字符

    水平移动

    • 0 移动至行首第一个字符
    • ^ 移动至第一个非空白字符
    • $ 移动至行尾
    • g_ 移动至行尾非空白字符

    文件内移动

    • gg 快速移动至文件开头
    • G 快速移动至文件结尾
    • H/M/L 快速移动至文件开头,中间,结尾
    • ctrl+u/ctrl+f 上翻页/下翻页
    • zz 把屏幕放置中间

    删除字符

    • dw 删除单词
    • dd 删除整行
    • dt delete to (" 删除引号 括号之间的字符
    • 4x 删除4个字符

    Vim快速修改

    • r replace 替换一个字符
    • c change cw(change word) 修改整个单词
    • s substitute 替换后进入插入字符

    Vim查询

    • 使用/或者?进行前向或者反向搜索
    • 使用n/N 跳转下一个或者上一个匹配
    • 使用*或者#进行当前单词的前向与后向匹配

    Vim替换命令

    • substitute 查找并替换文本,支持正则
    	:[range]s[unstitute]/{pattern}/{string}/[flags]
    
    • range 表示范围 比如:10,20 表示10-20行,%表示全部

      	:1,10 s/java/Java/g	//替换1-10行
      	:% s/java/Java/g      //替换全部
      
    • pattern 是要替换的模式,string是替换后的文本

    • flags替换标志位

      • g (global)表示全局范围内执行
      • c (confirm)表示确认,可以确认或者拒绝修改
      • n (number)报告匹配到的次数不做替换。
    • 正则替换

      	:% s/<java>/Java/g  //精确替换前后字符
      

    Vim多文件操作

    • buffer 文件缓存区
      • 使用 :ls列举当前缓冲区,:b n 跳转至第n个缓存区
      • :bpre :bnext :bfirst :blast
      • :b buffer_name 加上tab补全来跳转
    • window 窗口
      • <ctrl + w>w
      • <ctrl + w>hjkl
      • vs 分割窗口
    • tab 组织多个窗口
      • tabnew 新建tab工作区
      • gt & gT 切换工作区

    Vim的Text Object

    • 文本对象的操作方式

      	[number]<commond>[text object]
      
      	例如:ciw ci) ci" ci'
      
      • number 表示次数
      • command 命令 d(delete) c(change) y(yank)
      • text object 文本对象 w(word) 句子s 段落p

    vim寄存器与复制粘贴

    • y(yank) 复制 yy复制整行 yiw复制一个单词

    • p(put) 粘贴

    • insert模式下的复制粘贴

      • autoindent 设置自动缩进后,格式会乱
      • set paste 与 set nopaste可解决
    • 常见寄存器

      • "+ 复制前加上可复制进系统剪切板
      • set clipboard=unnamed

    强大的vim宏 (macro)

    • 宏 一系列命令的集合 q开始 q结束
    • qa 开启录制 保存在寄存器a q结束录制
    • 多行执行 V+G 选择全部,进入命令行
    • normal @a 执行录制宏

    Vim补全

    • ctrl + n 或者 ctrl + p 补全单词
    • ctrl + x 或者 ctrl + f 补全文件名
    • ctrl + x 或者 ctrl + 0 代码补全,需扩展插件.

    Vim配色

    	:colorschemes		//显示当前主题	
    	:colorschemes <ctrl+d>  //显示所有主题
    	:colorschemes name      //更换name主题
    

    Vim 基础END

    • 使用裸VIM进行编辑
    • 练习盲打
    • IDE增加VIM插件
    • 肌肉记忆
  • 相关阅读:
    ArrayList源码分析_JDK1.8.0_191
    LinkedList源码分析_JDK1.8.0_191
    HashMap源码分析_JDK1.8.0_191
    生产者消费者模型Java实现
    INT整型最小值取负还是本身的问题
    字节跳动面试题
    go sqlx操作数据库问题
    go gin框架调用cmd运行python脚本问题
    Android视频播放不能使用自研播放器
    mac python版本错误问题以及pip版本错误(anacanda)
  • 原文地址:https://www.cnblogs.com/maozhe/p/11957251.html
Copyright © 2011-2022 走看看