20. VIM命令操作技巧

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 补全大法









20. VIM命令操作技巧的更多相关文章
- Linux之find命令操作技巧
一.前言 工作中,我们常用find命令查找某些文件或者删除一些旧的日志文件,所以学会find命令的操作技巧就极为重要. 二.find常用参数选项 -depth 从指定目录下最深层的子目录开始查找 -m ...
- vim常用操作技巧与配置
vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中 ...
- vim 常用操作技巧
记录常用的vim操作技巧,基本满足90%的日常编辑使用. 文档操作 vim test.txt 打开当前目录下的test.txt文档,若不存在则创建该文件 :w 保存当前修改到文件 :w bak.txt ...
- 【Linux学习四】Linux下Vim命令操作
1.Vim介绍 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 第一阶段通过vimtutor的学习,加强vim的熟练度 1.1光标移动 hjkl左 ...
- VIM命令操作
退出命令 :wq 保存并退出 ZZ 保存并退出 :q! 强制退出并忽略所有更改 :e! 放弃所有修改,并打开原来文件.
- vi/vim系统编辑命令使用技巧
01前言 在Linux系统中会有很多的文件信息,这些文件的内容如果需要编辑,就必须借助vi或vim编辑命令. vi是Linux命令行界面下的重要文字编辑器.vim是vi命令的增强版. [语法格式] v ...
- VIM编辑命令的技巧
vim 选择文本,删除,复制,粘贴 文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v 从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束. V 从光标 ...
- vim常用操作和使用技巧
vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中 ...
- Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包
一.补充应用技巧 目标: 本例要求掌握在运维中比较常用的一些扩展命令技巧的使用,完成下列小技巧操作: 1> 采用数值形式将目录/root的权限调整为 rwx------ 2> 将记录的 ...
随机推荐
- element-UI 中的upload组件如何添加token?
<el-upload :show-file-list="false" :on-error="errmsg" :headers="headers& ...
- 印象最深的一个bug——排查修复问题事件BEX引发的谷歌浏览器闪退崩溃异常
前言 最近,我们部门负责项目运维的小王频频接到甲方的反馈,运行的项目使用谷歌浏览器登录后,每次点击处理2秒后,浏览器自动闪退崩溃.小王同学折腾了一个星期,还没找到问题的原因.甲方客户都把问题反馈给项目 ...
- pycharm安装指导教程
pycharm下载安装教程 1.pycharm下载官网 http://www.jetbrains.com/pycharm/ 2.下载好安装包后双击点开安装包文件,这边以专业版为例 按以上图片所示教程, ...
- Go语言并发模型 G源码分析
Go 的线程实现模型,有三个核心的元素 M.P.G,它们共同支撑起了这个线程模型的框架.其中,G 是 goroutine 的缩写,通常称为 "协程".关于协程.线程和进程三者的异同 ...
- 学好Python不加班系列之SCRAPY爬虫框架的使用
scrapy是一个爬虫中封装好的一个明星框架.具有高性能的持久化存储,异步的数据下载,高性能的数据解析,分布式. 对于初学者来说还是需要有一定的基础作为铺垫的学习.我将从下方的思维导图中进行逐步的解析 ...
- [python]基于windows搭建django项目
1.首先我的环境用到的库版本如下,若下载直接pip即可 pip3 install Django==2.0.6pip3 install djangorestframework==3.8.2pip3 in ...
- airflow redis sentinel
获取master name subscribe __sentinel__:hello mysql plugin table not found mysqld --initialize-insecure ...
- PHP、TP6框架及JavaScript的单步调试
目录 一.PHP程序的调试 1. 单个PHP程序的调试 2. PHP框架代码的调试 二.JavaScript程序的调试 三.总结 参考资料:https://www.bilibili.com/video ...
- Spark中资源调度和任务调度
Spark比MR快的原因 1.Spark基于内存的计算 2.粗粒度资源调度 3.DAG有向无环图:可以根据宽窄依赖划分出可以并行计算的task 细粒度资源调度 MR是属于细粒度资源调度 优点:每个ta ...
- Linux常见目录结构
目录 描述 /home 包含Linux系统上各用户的主目录,子目录默认以该用户名命名 /etc 包含Linux系统上大部分的配置文件,建议修改配置文件之前先备份 /var 该目录存放不经常变化的数据, ...