1. 安装
sudo apt-get install vim
或者
yum install -y vim-enhanced
2. 具体使用技巧如下
| 命令/操作 |
说明 |
| vim + filename |
打开文件并定位到最后一行 |
| vim +5 filename |
打开文件并定位到第5行 |
| :edit /path/to/file |
在vim中打开文件(支持Tab补全) |
| 命令/操作 |
说明 |
| j |
向下移动一个实际行 |
| gj |
向下移动一个屏幕行 |
| k |
向上移动一个实际行 |
| gk |
向上移动一个屏幕行 |
| 0 |
移动到实际行的行首 |
| g0 |
移动到屏幕行的行首 |
| ^ |
移动到实际行的第一个非空白字符 |
| g^ |
移动到屏幕行的第一个非空白字符 |
| $ |
移动到实际行的行尾 |
| g$ |
移动到屏幕行的行尾 |
| f+ |
查找下一个+(;下一个,上一个) |
| w |
正向移动到下一单词的开头 |
| b |
反向移动到当前单词/上一单词的开头 |
| e |
正向移动到当前单词/下一单词的结尾 |
| ge |
反向移动到上一单词的结尾 |
| 0 |
移动到行首 |
| $ |
当前行的末尾 |
| gg/1G |
文件第一行 |
| G |
文件最后一行 |
| :7 |
定位到第7行 |
| 行号+G |
指定行 |
| ctrl + o |
跳转回之前的位置 |
| ctrl + i |
返回跳转之前的位置 |
| ctrl + U |
上翻页 |
| ctrl + D |
下翻页 |
| 命令/操作 |
说明 |
| ESC |
进入正常模式 |
| :q! |
不保存退出 |
| :wq |
保存后退出 |
| :w |
仅保存 |
| :saveas file |
将文件另存为file,但不退出 |
| ZZ |
保存后退出 |
| ZQ |
不保存退出,Q表示放弃 |
| 命令/操作 |
说明 |
| x |
删除光标处的字符 |
| nx |
删除光标所在处后的n个字符 |
| dw |
删除光标之后单词的剩余部分(含光标处字符) |
| cw |
同上,但最后进入插入模式 |
| daw |
删除光标所在处的一个单词 |
| caw |
同上,但最后进入插入模式 |
| d$ |
删除至当前行尾 |
| dd |
删除整行 |
| dG |
删除光标所在行到末尾行的所有内容 |
| D |
删除光标所在处到行尾的内容 |
| : 5,7d |
删除第5到第7行 |
| 2dd |
删除两行 |
| ggdG |
删除所有内容 |
| :%d |
清空文档(%表示所有行) |
| 命令/操作 |
说明 |
| i |
左边插入文本 |
| a |
有变插入文本 |
| A |
当前行末尾添加 |
| r |
替换当前字符(rc,将光标处字符替换为c) |
| R |
进入替换REPLACE模式,可以连续完成替换 |
| o |
打开新的一行并进入插入模式 |
| Ctrl + a |
数字加一 |
| Ctrl + x |
数字减一 |
| vit |
可视模式下高亮选中标签内部的内容(visually select inside the tag):U变大写/u变小写 |
~ 删除列
1) 光标定位到要操作的地方。
2) CTRL+v 进入“可视 块”模式,选取这一列操作多少行。
3) d或x 删除。
~ 插入列
插入操作稍有区别。例如我们在每一行前都插入"() ":
1) 光标定位到要操作的地方。
2) CTRL+v 进入“可视 块”模式,选取这一列操作多少行。
3) SHIFT+i 输入要插入的内容。
4) ESC 按两次,会在每行的选定的区域出现插入的内容。
1) CTRL+v,进入列块模式,选中需要复制的内容。
2) “y” 复制内容,4line yanked 说明复制了四行。
3) 然后移动光标到行首,“p”在光标的后面一列输出内容,按“P”在光标前面一列输出内容。
4) 大小p的区别是黏贴内容的区域是所选择光标的前面还是后面一列。
| 命令/操作 |
说明 |
| u |
undo |
| ctrl +r |
redo |
| . |
重复上一次操作 |
| 命令/操作 |
说明 |
| v |
进入可视模式(字符) |
| V |
进入可视模式(行) |
| y |
复制 |
| p/P |
粘贴 |
| yy |
复制当前行 |
| dd |
剪切当前行 |
| yG |
复制当前行直到最后一行 |
| 命令/操作 |
说明 |
| ctrl + g |
显示当前行以及文件信息 |
| 命令/操作 |
说明 |
| / |
正向查找(n:继续查找,N:相反方向继续查找,/\c忽略大小写。注意,不使用/\v时,必须转义 (、 )、│ 、+、?、{、} 字符 |
| ? |
逆向查找(?\c忽略大小写) |
| % |
查找配对的 {,[,( |
| * |
高亮显示光标处单词在文件中的所有匹配(n下一个匹配,N上一个匹配) |
| :set ic |
忽略大小写 |
| :set noic |
取消忽略大小写 |
| :set hls |
匹配项高亮显示 |
| :set nohl |
取消搜索关键字的高亮(或者:noh) |
| :set is |
显示部分匹配 |
| :set nu |
显示行号 |
| :set nonu |
取消行号的显示 |
| :set list |
显示不可视字符 |
| :set nolist |
取消显示不可视字符 |
| :set background=dark |
设置深色背景 |
| :set background=light |
设置亮色背景 |
| :set all |
查看vim的全部设置 |
| :h magic |
通过关键字magic查询帮助 |
注意:在查找命令" / "和“ ? ”后边可以使用如下记号实现整字匹配的查找。
/\<word\>
或者
?\<word\>
| 命令/操作 |
说明 |
- [转贴] VIM 常用快捷键 --一直记不住
vim 常用快捷键 原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...
- VIM常用快捷键(转载)
移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,按标点或单词分割 ...
- [转帖]VIM常用快捷键
VIM常用快捷键 https://www.cnblogs.com/markleaf/p/7808817.html 快捷键能够显著的提高工作效率 一.移动光标 h,j,k,l 上,下,左,右ctrl-e ...
- 转 -- Vim 常用快捷键
``` 全选(高亮显示):按esc后,然后ggvG或者ggVG 全部复制:按esc后,然后ggyG 全部删除:按esc后,然后dG 解析: gg:是让光标移到首行,在vim才有效,vi中无效 v : ...
- Linux系统下vim常用快捷键及功能
1. 什么是vim Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性. vim编辑器是Linux系统下标准的编辑器,作用相当于windows系统中的记 ...
- vim常用快捷键总结一(光标移动命令)
vim编辑器的工作模式分为3种即(命令模式,编辑模式和尾行模式),具体定义这里就不在赘述了,这里只简单介绍各工作模式下对应的操作和快捷方式. 通常来说三三种模式功能划分大致如下 命令模式:定位.翻页. ...
- vim常用快捷键记录
yy复制一行 2yy复制2行 同理 3yy复制3行 p粘贴复制 dd删除一行 ctrl+f 翻页 ctrl+b 上翻 shift+a 跳到行尾进入insert模式 shift+i 跳到行首进入inse ...
- VIM常用快捷键~网页上查找
转自~木枫林 转自~鸟哥的私房菜 第十章.vim 程序编辑器 第十章.vim 程序编辑器 最近更新日期:2009/08/20 2. vi 的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案 ...
- 【redis】redis常用命令及操作记录
redis-cli是Redis命令行界面,可以向Redis发送命令,并直接从终端读取服务器发送的回复. 它有两种主要模式:一种交互模式,其中有一个REPL(read eval print loop), ...
随机推荐
- Counter的数据统计功能
Counter是dict的子类,一般用于统计,默认排序是从大到小 from collections import Counter # 输入iterable对象即可 str_counter = Coun ...
- linux运维、架构之路-keepalived高可用
一.Keepalived介绍 Keepalived起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能,Ke ...
- ResultSet用法集锦 (转)
转:http://soft-development.iteye.com/blog/1420323 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是 ...
- HDU4089 Activation(概率DP+处理环迭代式子)
题意:有n个人排队等着在官网上激活游戏.Tomato排在第m个. 对于队列中的第一个人.有一下情况: 1.激活失败,留在队列中等待下一次激活(概率为p1) 2.失去连接,出队列,然后排在队列的最后(概 ...
- 生产环境下,oracle不同用户间的数据迁移。第二部分
任务名称:生产环境下schema ELON数据迁移至schema TIAN######################################## 测试二:测试参数remap_tablespa ...
- win10半夜自动开机的问题分析
win10半夜自动开机的系统日志: 解决方法一: 1.根据日志判断自动唤醒后,windows更新了时间和代理 服务管理器中,关闭windows update, 但是半夜还会自动开 再关闭服务管理器的w ...
- JS - 迭代协议
Iteration protocols | MDN 可迭代协议(iterable protocol) 迭代器协议(iterator protocol)
- java.io.IOException: Malformed \uxxxx encoding.
java.io.IOException: Malformed \uxxxx encoding. at com.dong.frame.util.ReadProperties.read(ReadProp ...
- MySQL 安装示例数据库(employee、world、sakila、menagerie 等)
sakila 示例数据库官方资料及安装说明,注意查看示例数据库支持的版本是否匹配你的数据库. 为了测试,有时候需要大量的数据集,MySQL 官方提供了用于测试的示例数据库,下载页面在 这里. 下面以 ...
- Vue过滤器:全局过滤器
Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化. 过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持). 过滤器应该被添加在 JavaScr ...
|