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常用快捷键及操作记录的更多相关文章

  1. [转贴] VIM 常用快捷键 --一直记不住

    vim 常用快捷键  原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...

  2. VIM常用快捷键(转载)

    移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,按标点或单词分割 ...

  3. [转帖]VIM常用快捷键

    VIM常用快捷键 https://www.cnblogs.com/markleaf/p/7808817.html 快捷键能够显著的提高工作效率 一.移动光标 h,j,k,l 上,下,左,右ctrl-e ...

  4. 转 -- Vim 常用快捷键

    ``` 全选(高亮显示):按esc后,然后ggvG或者ggVG 全部复制:按esc后,然后ggyG 全部删除:按esc后,然后dG 解析: gg:是让光标移到首行,在vim才有效,vi中无效 v :  ...

  5. Linux系统下vim常用快捷键及功能

    1. 什么是vim Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性. vim编辑器是Linux系统下标准的编辑器,作用相当于windows系统中的记 ...

  6. vim常用快捷键总结一(光标移动命令)

    vim编辑器的工作模式分为3种即(命令模式,编辑模式和尾行模式),具体定义这里就不在赘述了,这里只简单介绍各工作模式下对应的操作和快捷方式. 通常来说三三种模式功能划分大致如下 命令模式:定位.翻页. ...

  7. vim常用快捷键记录

    yy复制一行 2yy复制2行 同理 3yy复制3行 p粘贴复制 dd删除一行 ctrl+f 翻页 ctrl+b 上翻 shift+a 跳到行尾进入insert模式 shift+i 跳到行首进入inse ...

  8. VIM常用快捷键~网页上查找

    转自~木枫林 转自~鸟哥的私房菜 第十章.vim 程序编辑器 第十章.vim 程序编辑器 最近更新日期:2009/08/20 2. vi 的使用 2.1 简易执行范例 2.2 按键说明 2.3 一个案 ...

  9. 【redis】redis常用命令及操作记录

    redis-cli是Redis命令行界面,可以向Redis发送命令,并直接从终端读取服务器发送的回复. 它有两种主要模式:一种交互模式,其中有一个REPL(read eval print loop), ...

随机推荐

  1. Django的下载和基本指令

    1.下载Django pip3  install  django     #不写版本号的话,默认使下载最新版的django pip3  install   django == 2.1.2    #指定 ...

  2. UVa 10054 : The Necklace 【欧拉回路】

    题目链接 题目大意:我的妹妹有一串由各种颜色组成的项链. 项链中两个连续珠子的接头处共享同一个颜色. 如上图, 第一个珠子是green+red, 那么接这个珠子的必须以red开头,如图的red+whi ...

  3. DGA域名检测

    一.DGA域名原理 僵尸网络(Botnet):互联网上在蠕虫.木马.后门工具等,传统恶意代码形态的基础上发展.融合而产生的一种新型攻击方法. DNS(Domain Name System) :基于 U ...

  4. ### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 "@P23@P24"。(sql少一个逗号)【??】

    (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,[??],?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?, ...

  5. hdu 4641K-string SAM的O(n^2)算法 以及 SAM+并查集优化

    转载:http://www.cnblogs.com/hxer/p/5675149.html 题意:有一个长度为n(n < 5e4)的字符串,Q(Q<=2e5)次操作:操作分为:在末尾插入一 ...

  6. php匿名函数和闭包的理解

    PHP匿名函数和闭包使用的句法与普通函数相同,但匿名函和闭包数其实是伪装成函数的对象. 匿名函数:就是没有名称的函数.匿名函数可以赋值给变量,对象传递.不过匿名函数仍是函数,因此可以调用,还可以传入参 ...

  7. mysql中 key 、primary key 、unique key 和 index 有什么不同

    mysql中 key .primary key .unique key 和 index 有什么不同 key 是数据库的物理结构,它包含两层意义和作用, 一是约束(偏重于约束和规范数据库的结构完整性), ...

  8. 不用print调试 xdebug ubuntu phpstorm 远程断点调试

    即使这会写php也遵守zebra大人的指示:不用print调试!!!!----环境ok  ---gan !!! w http://blog.csdn.net/ty_hf/article/details ...

  9. day40—JavaScript多物体运动框架

    转行学开发,代码100天——2018-04-25 今天继续学习JavaScript的运动实现——多物体运动框架的介绍及其应用. 首先来看一个简单的例子.如下图,要使图中3个红色盒子实现鼠标移入变宽,移 ...

  10. 新手如何创建一个vue项目 ---vue---新手创建第一个项目

    1.第一步安装node.js https://nodejs.org/en/ 前期可以下载软件包,后期熟练以后可以通过nvm进行 Node的版本切换以及升级 然后window+r  输入cmd 打开命令 ...