代码编辑器[0] -> Vim/gVim[1] -> Vim 的快捷键操作
快捷键 / Shortcut Keys
1 基本操作 / Basic Operation
Vim的基本操作主要可以参考以下几张图,参考链接,



命令行模式
i 从光标所在字符前插入
a 从光标所在的字符后插入
o 从光标所在行的下面插入空白行
I 从光标所在行的行首插入
A 从光标所在行的行末插入
O 从光标所在行的上面插入空白行
daw 删除光标所在单词
s 删除光标所在字符进入插入模式
S 删除光标所在行进入插入模式
Esc 插入模式切换到命令行模式
. 重复操作
k 类似方向键上
j 类似方向键下
h 类似方向键左
l 类似方向键右
Ctrl+u 向上移动半页
Ctrl+d 向下移动半页
Ctrl+b 向上移动一页
Ctrl+f 向下移动一页
0 光标移动到所在行的行首
gg 移动到文本的第一行
G 移动到文本最后一行
ngg/nG 移动光标到文本的第n行行首
$ 光标移动到所在行的行尾
^ 光标移动到所在行的行首
w 光标跳到下个字的开头
e 光标跳到下个字的字尾
b 光标回到上个字的开头
x 每按一次,删除光标所在位置的一个字符
nx 如"3x"表示删除光标所在位置开始的3个字符
X 删除光标所在位置的前一个字符
nX 如"3X"表示删除光标所在位置的前3个字符
dd 删除光标所在行
ndd 如"3dd"表示删除光标所在行开始的3行字符
yw 将光标所在之处到字尾的字符复制到缓冲区
nyw 复制n个字符到缓冲区
p 将缓冲区里的内容写到光标所在位置
r 替换光标所在处的字符
R 替换贯标所在处的字符,直到按下"Esc"为止
u 撤销命令,可多次撤销
Ctrl+r 撤销上次u
Ctrl+o 回到光标上次位置
v 从光标所在位置开始选中
Ctrl+g 列出光标所在行的行号占总行数的百分比
ZZ 存盘退出
ZQ 不存盘退出
末行模式
:set nu 开启每行的行号
:set nonu 取消每行的行号
:n n代表数字,表示跳到n行
:/ 关键字 先按"/",在输入关键字后回车查找字符,按n查找下一个
:? 关键字 类似"/关键字"
:! 命令 windows下运行dos命令,linux下运行shell命令
:s/a/b 将光标所在行的第一个a替换为b
:s/a/b/g 将光标所在行的a全部替换为b
:w 保存修改的文件
:w fn 保存并命名为fn
:q 退出vi
:q! 强制退出无法退出的vi
:wq 保存并退出
:set fileencoding=utf-8 设置编码utf-8
2 代码折叠 / Code Fold
完成环境配置中的 基本设置 -> 折叠设置 后:
zc 折叠,只折叠最外层的折叠
zC 对所在范围内所有嵌套的折叠点进行折叠,包括嵌套的所有折叠
zo 展开折叠,只展开最外层的折叠
zO 对所在范围内所有嵌套的折叠点展开,包括嵌套折叠
[z 到当前打开的折叠的开始处
]z 到当前打开的折叠的末尾处
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入
zd 删除 (delete) 在光标下的折叠。仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效
zD 循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效。
zE 除去 (Eliminate) 窗口里“所有”的折叠。仅当 ‘foldmethod’ 设为 “manual” 或 “marker” 时有效。
zfap 将光标移到段落内,然后按zfap,就可以自动对整个段落添加折叠标签,假定你已经创建了若干折叠,而现在需要阅览全部文本。你可以移到每个 折叠处,并键入”zo”。若要做得更快,可以用这个命令:zr
zm 这将折叠更多 (M-ore)。你可以重复 “zr” 和 “zm” 来打开和关闭若干层嵌套的折叠,不然得一个一个的用zc来折叠。如果你有一个嵌套了好几层深的折叠,你可以用这个命令把它们全部打开:
zR 这将减少折叠直至一个也不剩。而用下面这个命令你可以关闭所有的折叠:
zM 这将增加折叠,直至所有的折叠都关闭了。你可以用 |zn| 命令快速禁止折叠功能。然后 |zN| 恢复原来的折叠。|zi| 切换于两者之间。
3 源码跳转 / Source Code Skip
完成环境配置中的 ctags 配置,以及源代码目录ctags -R
Ctrl+] 跳转至代码定义处
Ctrl+t 跳转返回
4 源码分析显示 / Source Code Analysis Display
完成环境配置中的 taglist 配置
:Tlist 输入则激活显示窗口,再次输入则关闭
5 程序结构显示 / Program Structure Display
完成环境配置中的 winManager 配置
wm 显示程序结构窗口
6 多文档切换 / Multi-document Switch
完成环境配置中的 minibufexpl 配置
ctrl+Tab 切换到前一个buffer,并在当前窗口打开文件
ctrl+shift+Tab 切换到后一个buffer,并在当前窗口打开文件
ctrl+箭头键 可以切换到上下左右窗口中
7 工程中查找 / Search within Project
完成环境配置中的 grep 配置
F3 查找当前光标所在内容,并定义查找范围
8 高亮标签 / Highlight Tags
完成环境配置中的 visualmark 配置
Ctrl+F2 添加标签
F2 下一个标签位置
Shift+F2 上一个标签位置
9 代码补全 / Code Complement
完成环境配置中的 pydiction 配置
在输入时加上tab建即可显示补全信息
10 代码检查 / Code Check
完成环境配置中的 pyflakes 配置
:cc 检查代码错误
11 运行代码/ Run Code
完成环境配置中的 run 配置
F5 运行代码
12 多行插入 / Multi-line Insert
完成环境配置中的 ctrl+v 配置
Ctrl + v 进入可视化模式,选中多行,I插入,输入插入内容,esc即可退出
13 高亮搜索 / Highlight Search
Shift + */# 高亮显示搜索词,*向前搜索,#向后搜索
:nohlsearch 取消高亮显示搜索词
n/N 上/下一个高亮词
14 多词替换/删除 / Multi-replace/delete
daw+n/N+. daw删除当前词,需要删除上/下一个时,使用n/N切换,再输入.重复
:%s/old/new/g 将文件中所有的old替换成new
:s/old/new 将选中区域内(使用v进入可视化模式)的old替换成new
相关阅读
1. Vim 环境配置
参考链接
http://blog.csdn.net/kingboygoodfly/article/details/45998187
http://www.cnblogs.com/wangkangluo1/archive/2011/06/10/2077203.html
http://blog.csdn.net/zhaoyong26/article/details/54379565
代码编辑器[0] -> Vim/gVim[1] -> Vim 的快捷键操作的更多相关文章
- 代码编辑器[0] -> Vim/gVim[3] -> 像编程一样使用Vim
像编程一样使用Vim 目录 为什么是Vim / Why Vim 从hjkl开始上路 -- 使用基本按键进行移动和编辑 / Start from <hjkl> 一次超速和翻车的体验 -- 使 ...
- 代码编辑器[0] -> Vim/gVim[0] -> 基于 Python 的 gVim 环境配置(Windows)
环境配置 / Environment Setup 基于Python开发的 gVim 环境配置(Windows) 使用方式参考 Vim 的使用. 1 基于vundle进行配置 Vim有多个扩展管理器, ...
- 代码编辑器[0] -> Vim/gVim[2] -> Vim 的相关知识
相关知识 / Relevant Knowledge 1 _vimrc编程 / _vimrc Program 1. 注释符", 用于注释 2. 关键词set, 用于设置功能等 3. 关键词im ...
- Vim/gvim容易忘记的快捷键
正常模式==>插入模式 按i 在光标前插入 按I 在行首插入 按a 在光标后插入 按s 删除光标所在的字符再插入 按A 在行末插入 按o 在当前行之下新建行 按O 在当前行之上新建行 按S 删除 ...
- [转载] ubuntu下定制Vim/Gvim及使用技巧
vim是linux下的编辑器之神,是玩linux的必备工具,同样emacs是神的编辑器,两个编辑器是各有千秋,看个人的喜好,青菜萝卜各有所爱.我是比较喜欢vim,用vim编写bash,perl,pyt ...
- 配置 .vimrc 解决 Vim / gVim 在中文 Windows 下的字符编码问题
转载自:-杨博的日志 - 网易博客 Vim / gVim 在中文 Windows 下的字符编码有两个问题: 默认没有编码检测功能 如果一个文件本身采用的字符集比 GBK 大(如 UTF-8.UTF-1 ...
- vim gvim技巧大全(9)(转载)
vim gvim技巧大全(9) 2 用命令}移动到这个段落的底部,标记为b3 输入命令:'a,'b move来移动文本.老版本的Vi编辑器不能很好的来处理多文件.但是Vim在处理多文件上却显得优秀得多 ...
- Gvim 和vim 有什么区别
Gvim 和vim 有什么区别 Gvim是windows的 vim是linux的黑色的命令符 Gvim是单独的窗口下的vim,像notepad一样. vim就是在黑乎乎的cmd窗口下的编辑器.wind ...
- 编辑器之王:Emacs 和 Vim
Emacs 是神的编辑器,而 Vim 是编辑器之神.二者为何会有如此美誉,且听本文向你一一道来. Author: Jiqing Wu email: jiqingwu@gmail.com homepag ...
随机推荐
- 剑指Offer - 九度1366 - 栈的压入、弹出序列
剑指Offer - 九度1366 - 栈的压入.弹出序列2014-02-05 20:41 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所 ...
- 随笔 —— 门徒 & 无限恐怖
门徒 忧思缠身,所为何物 不知何人,可免世俗 每每朝暮,心无释处 悲从中来,如泣如诉 仁者存世,满怀悲苦 逝者如斯,追还无路 上天无门,开怀捧腹 无路偏行,我行我素 无限恐怖 饥寒苦难谁知故,日日行路 ...
- 四 Android Capabilities讲解
本文转自:http://www.cnblogs.com/sundalian/p/5629429.html Android Capabilities讲解 1.Capabilities介绍 可以看下之 ...
- Python——开篇之词
我也断断续续的用Python挺长时间了.但是一直都没有系统的学习过Python.很多东西都是现用现学.这样感觉对Python的理解太浅,完完全全就是搬砖的. 因此,我专门找了一个比较完整的老男孩的Py ...
- C 语言 进阶
清单狂魔,只挖坑不填坑.. 前言 最近经常被询问 C 语言 相关的问题,突然便也觉得需要思考一下 C 语言的进阶了. 我用 C 语言写过的最大的一个项目,也只是那个贪吃蛇,后来就断断续续地用 Pyth ...
- Linux下nginx支持.htaccess文件实现伪静态的方法!
在Google上搜索的资料很多人都说nginx目前不支持.htaccess文件,我按照nginx的规则试验了一下,结果发现nginx是完全支持.htaccess文件的! 方法如下: 1. 在需要使用. ...
- sqlserver 汉字转拼音 索引 函数
IF OBJECT_ID('[fn_GetPinyin]') IS NOT NULL DROP FUNCTION [fn_GetPinyin] GO create function [dbo].[fn ...
- 2-sat 学习笔记
一.问题描述 以你咕的模板题为例 题目描述 有\(n\)个布尔变量\(x_1\)~\(x_n\),另有\(m\)个需要满足的条件,每个条件的形式都是"\(x_i\)为true/false或\ ...
- 《c程序设计语言》读书笔记-5.5-指针实现strncpy,strncat,strncmp
#include <stdio.h> #include <math.h> #include <stdlib.h> #include <string.h> ...
- javascript中在定义函数的几种形式
内容主要是讲述javascript在类(原型对象)中定义方法的几种形式,简要之主要有三种:this关键字.prototype关键字.var 对象名={name:value,name2:value2}: ...