vim一些常用命令

u : 撤销
 ctrl n : 补全
 ctrl r : 重做
 shift zz : 保存退出
 另存为 : w 新文件名
 局部保存 : v模式: w! 文件名(!会覆盖)
 vi -o 多个文件名
 :! shell命令
 :r 文件名 ----合并文件,读取并放进来

 A : 在行尾添加
 I : 在行首添加
 O : 添加上一行
 o : 下一行
 % : 定位另一半括号

 : set nu : 设置行号
 : vs 横分屏
 : sp 竖分屏
 :% s/java/python/g  
     %表示全部文件 s表示替换 java-python  g表示全局替换

 v : 可视模式
 V : 行选择
 ctrl v : 块选择

 insert模式下:
     ctrl h : 删除上一个字符
     ctrl w : 删除上一个单词
     ctrl u : 删除这一行 :

 终端下:
     ctrl a : 快速移动到开头
     ctrl e : 快速移动到结尾
     ctrl b : 前移一个字母
     ctrl f : 后移一个字母

 ctrl [ : 代替ESC
 gi : 快速跳到最后一次编辑的地方进入插入模式

 :syntax on : 代码临时高亮

 单词间移动:
 w/W 移到下一个单词的开头
 b/B 回到上一个单词的开头
 e/E 移动到当前单词结尾
 W 以空白符为分割

 行间搜索:
 f{char},移动到char上, 分号;表示下一个,逗号,表示上一个
 用t代替f,会移到char的前一个字符
 光标在行尾,用F

 水平移动:
 0 : 行首第一个字符
 ^ :第一个非空白字符
 $ :行尾

 垂直移动:
 ( ): 句子间移动
 { }: 段落间移动
 插件学习: easy-motion

 页面移动:
 gg : 文件开头
 G : 文件结尾
 ctrl o : 快速返回
 H/M/L : 开头中间结尾

 ctrl u : 上翻页
 ctrl f : 下翻页
 zz : 把屏幕(光标)置为中间

 Vim快速删除:
 x : 删除下一个字符
 大X : 删除前一个字符
 d : 配合文本 daw删除一个单词
 dw: 删除光标所在位置直到空白符
 搭配数字:
 diw :没删除空格,删一个单词
 dt): 删除到)
 dt" : 删除到"
 d$ : 删到行尾
 d0 : 删到开头
 dd : 删除一行
 di( : 删除()里面的
 大D : 删除到行尾

 数字 + 命令 : 表示多次执行
 4x : 删除4个字符
 2dd : 删除2行

 Vim快速修改:
 r : 替换一个字符,ra替换成a,R 往后替换
 s : 删除当前字符,进入插入模式,S 整行删除进入插入模式
 4s : 删除4个字符进入插入模式

 c  : 删除 + 插入
 c0 : 删除光标当前位置(不包含)到行首的字符,插入
 c$ : 删除光标当前位置(包含)到行尾的字符,插入
 cb : 删除光标当前位置(不包含)到单词起始,插入
 ce : 删除光标当前位置(包含)到单词结尾,插入
 cw : 删除光标当前位置(包含)到下一个单词前,插入
 caw : 删除光标所在单词到下一个单词前,插入
 ciw : 删除光标所在单词,不包含空格,插入

 ct" :删除整个""里面,进入插入模式
 cc : 删除所在行的字符,进入插入,同大S
 大C: 删除当前位置到行尾,插入
 cj : 删除所在行及下一行,进入插入
 ck : 删除所在行及上一行,进入插入
 ci{ : 修改整个{ 里面的内容}

 Vim复制粘贴:
 normal模式:y复制,p粘贴,d剪贴,p粘贴到下一行,大P向上粘贴
 v命令选中,y复制,p粘贴
 yiw : 复制一个单词
 yyp : 复制一行
 ddp : 剪贴一行

 Vim搜索:
 /或? : 向前或向后搜索
 n/N : 跳转到下一个/上一个
 *或# : 当前单词向后/向前匹配

 要加\的 : . * ? $ % ^ / ~ [ ]

 /print :搜索print ---set hls : 设置高亮(high light search)
 : set incsearch : 设置高亮再搜索

 Vim搜索替换:
 :range s/pattern/string/flags
 range : 范围 %全部,10-20表示10-20行,不写表示光标所在行第一个
 pattern :要替换的模式,可以正则
 string : 替换后的文本
 Flags : g表示全局,c(confirm)确认,可以确认或者拒绝修改
 	n(number)报告匹配的次数,而不替换

 Vim多文件:
 Buffer : 缓冲区
 :ls 列举当前缓冲区
 :e 路径 : 打开新的文件

 :b 数字n 跳转到第n个缓冲区
 :b 名字tab补全跳转
 :blast :bfirst

 Vim窗口:
 :vs 垂直分割
 :sp 水平分割
 ctrl w : 窗口间切换
 ctrl w + hjkl 方向选择  
 ctrl w + HJKL 窗口移动
 ctrl w + c  :关闭窗口

 Text Object文本对象:
 [number]<command>[text object>
 number次数
 command : d, c ,y(yank),v(选择)
 text object : 要操作的文本对象,单词w,句子s,段落p
 i : inner
 a : around 包含空格
 iw :viw v进入选择,iw inner word 选中当前单词
 aw :vaw 不仅选择当前单词,还有单词之后的空格

 :set autoindent 自动支持缩进

 V选中+方向
 shift << : 左移 
 shirt >> : 右移
 数字行 + 缩进
 . 重复上一次的命令
posted @ 2019-07-04 13:08  太虚真人  阅读(1124)  评论(0编辑  收藏  举报