20. VIM命令操作技巧

vi ~/.vimrc

set nocp
set backspace=2
set nocompatible

 

 V可视化选中当前行,根据光标可多行

ctrl+v 可视化块

v可视化根据光标

 

行间移动

 

 

 

 

 

快速增删改查

d 0 删除当前位置到行首

d $ 删除当前位置到行尾

d  t  (" ] ) )符号 删除直到某个符号

d a w 删除单词(包括空格) d i w 删除单词(不包括空格)

dd 删除当前行

x 删除字符

数字 + 命令,多次执行 e.g. 4dd 删除4行  4x 删除4个单词

 

 r a 单个字符的修改

s a删除当前字符,进入插入模式

R 不断进行当前字符替换

S 删除当前行,进入插入模式

 

c a w 删除单词 并进入插入模式

C 删除当前行,进入插入模式

c t + 符号 删除到某个符号,并进入插入模式

 

 : set hls 匹配的词高亮

: set incsearch 边匹配边高亮

 

搜索替换

 

 

 

 搜索替换

:  % s/profile/profile222/g

: 1,10 s/profile/profile222/g 

:1,15 s/profile//n 计算1到15行出现profile的个数

:1,15 s/\<profile\>/profile222/g  利用正则匹配替换 “profile” 为 profile222

 多文件操作VIM

 

 

 

 

 

 e.g

:e  filename 打开多个文件

:ls 列出当前缓冲区

 

 

 

 

 

 

 

 e.g  : tabnew  filename 打开新标签文件

gt  在标签里切换

 

VIM 的 Text Object

 

 

e.g 

viw 选中单词  vaw 选中单词(包括空格)

c i w 删除单词并变为插入模式 

c a w 删除单词(包括空格)并变为插入模式 

vi [ / "

ci [ / "

 

 set autoindent

set paste 在插入模式粘贴拷贝代码时不会格式混乱

set nopaste 使得换行时set autoindent继续生效

 

 

 “ a  指定寄存器a ,yy 复制到到寄存器a    : reg a 查看寄存器 a的内容

“ a  p 粘贴寄存器a的内容出来

 

 

 

: echo has('clipboard') 检查是否有剪切板 返回1 代表有

: set clipboard=unamed 设置为系统剪切板

 

: e ! 重新加载文件,不保存当前文本

解决粘贴乱码 : set paste (set nopaste 恢复)  或者   " +  或者 : set clipboard=unamed 

 

VIM 宏(macro)

 

 

 

 qa  " "

@a

 

 : CTRL+ P上一次的命令

VIM 补全大法

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2019-10-07 12:15  Meer6767  阅读(215)  评论(0)    收藏  举报