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插件
  • 肌肉记忆
原文地址:https://www.cnblogs.com/maozhe/p/11957251.html