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> 将记录的 ...
随机推荐
- mac bigsur 安装mysql步骤
我首先下载的是mysql8.x,安装完后,在偏好设置里面,双击mysql图标,弹窗:未能载入偏好设置面板MySQL,重启无果,查攻略说是要安装5.7.x,在mysql官网上,下载5.7.29 强烈建议 ...
- Python小练习之验证“哥德巴赫猜想”
设计内容:任何一个大于2的偶数都可以分解为两个素数之和,这就是著名的哥达巴赫猜想. 设计要求:要求输入一个大于2的偶数,程序运行后,输出两个素数,其和正好等于该偶数. 1. 实验代码(知道是你们 ...
- 算法学习->求解三角形最小路径及其值
00 问题 00-1 描述 对给定高度为n的一个整数三角形,找出从顶部到底部的最小路径和.每个整数只能向下移动到与之相邻的整数. 找到一个一样的力扣题:120. 三角形最小路径和 - 力扣(LeetC ...
- Kioskcached(2) 之 使用tcmalloc 替换 ptmalloc
前言 我在 Kioskcached(1)之 Memcached & Redis & Kioskcached 性能测试对比 中找到的一个问题是 malloc,对于一个内存型数据库,很容易 ...
- Django 中间件 详细总结
一.什么是中间件 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影 ...
- PTA二叉搜索树的操作集 (30分)
PTA二叉搜索树的操作集 (30分) 本题要求实现给定二叉搜索树的5种常用操作. 函数接口定义: BinTree Insert( BinTree BST, ElementType X ); BinTr ...
- sqlalchemy 执行sql
关键需要使用text from sqlalchemy import create_engine, text sql = 'SELECT * FROM my_table WHERE account_id ...
- Oracle 表空间和权限
表空间 表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都存放在指定的表空间中.但主要存放的是表,所以称作表空间. Oracle中很多优化都是基于表空间的设计理念而实现的,一个 ...
- c++学习笔记3(内联函数)
函数调用是有开销的,调用时需将参数放入栈中,返回地址也要放入,返回时还需从栈中取出,跳转返回地址去执行,需几条语句的时间,如果本身程序代码短,则会显得十分浪费,所以引入了内联函数的机制 写法:在函数前 ...
- Python基础(range)
arr = [1,2,3,4,5,6,7,8,9] for i in range(0,len(arr),2): print(arr[i],end=' | ') brr = arr[0:len(arr) ...