`
webcenterol
  • 浏览: 925007 次
文章分类
社区版块
存档分类
最新评论

vim实用功能总结

 
阅读更多

这是我总结的一些基本用法,可能对初用者会有帮助,独乐乐不如众乐乐,是吧!

说明:以下黑色为vi和vim均有的一般功能,而红色为Vim(Vi Improved)所特有功能。Vim一般的Unix和Linux下均有安装。
 三种状态
Command: 任何输入都会作为编辑命令,而不会出现在屏幕上,任何输入都引起立即反映
Insert: 任何输入的数据都置于编辑寄存器,按ESC,可跳回command方式
Escape: 以“:”或者“/”为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。
 离开vi
:q! 离开vi,并放弃刚在缓冲区内编辑的内容。
:wq 将缓冲区内的资料写入磁盘中,并离开vi。
:x 同wq。
(注意—— :X 是文件加密,一定要与:x存盘退出相区别)
 进入输入模式
a (append) 由游标之后加入资料。
A 由该行之末加入资料。
i (insert) 由游标之前加入资料。
I 由该行之首加入资料。
o (open) 新增一行於该行之下供输入资料之用。
O 新增一行於该行之上供输入资料之用。
 删除与修改
x 删除游标所在该字元。
X 删除游标所在之前一字元。
r 用接於此指令之后的字元取代(replace)游标所在字元。如:ra将游标所在字元以 a 取代之。
R 进入取代状态,直到《ESC》为止。
s 删除游标所在之字元,并进入输入模式直到《ESC》。
S 删除游标所在之该行资料,并进入输入模式直到《ESC》。
 光标的移动
m<a-z> 设置书签<a-z>
‘<a-z> 移至书签<a-z>处
0 移至该行之首
$ 移至该行之末。
e 移动到下个字的最後一个字母
w 移动到下个字的第一个字母。
b 移动到上个字的第一个字母。
^ 移至该行的第一个字元处。
H 移至视窗的第一行。
M 移至视窗的中间那行。
L 移至视窗的最后一行。
G 移至该文件的最后一行。
+ 移至下一列的第一个字元处。
- 移至上一列的第一个字元处。
:n 移至该文件的第 n 列。
n+ 移至游标所在位置之后的第 n 列。
n- 移至游标所在位置之前的第 n 列。
<Ctrl><g> 显示该行之行号、文件名称、文件中最末行之行号、游标所在行号占总行号之百分比。

(Vim) 光标移动基本用法小解:
(这只要组合上边的功能就可以明白了,不用再一一讲解了吧!)
ge b w e
← ← ---→ --→
This is-a line, with special/separated/words (and some more).
←- ←-- -----------------→ ---→
GE B W E

 视窗的移动
<Ctrl><f> 视窗往下卷一页。
<Ctrl><b> 视窗往上卷一页。
<Ctrl><d> 视窗往下卷半页。
<Ctrl><u> 视窗往上卷半页。
<Ctrl><e> 视窗往下卷一行。
<Ctrl><y> 视窗往上卷一行。
 剪切、复制、删除
Operator + Scope = command
 Operator
d 剪切
y 复制。
p 粘帖,与 d 和 y 配和使用。可将最后d或y的资料放置於游标所在位置之行列下。
c 修改,类似delete与insert的组和。删除一个字组、句子等之资料,并插入新建资料。
 Scope
e 由游标所在位置至该字串的最后一个字元。
w 由游标所在位置至下一个字串的第一个字元。
b 由游标所在位置至前一个字串的第一个字元。
$ 由游标所在位置至该行的最后一个字元。
0 由游标所在位置至该行的第一个字元。
 整行动作
dd 删除整行。
D 以行为单位,删除游标后之所有字元。
cc 修改整行的内容。
yy 使游标所在该行复制到记忆体缓冲区。
 取消前一动作(Undo)
u 恢复最后一个指令之前的结果。
U 恢复游标该行之所有改变。
(vim) u 可以多次撤消指令,一次撤消一个操作,直至本次操作开始为止。
(vim) Ctrl+r 可以恢复撤消前内容,按多次可恢复多次。
 查找与替换
/字串 往游标之后寻找该字串。
?字串 往游标之前寻找该字串。
n 往下继续寻找下一个相同的字串。
N 往上继续寻找下一个相同的字串。
% 查找“(”,“)”,“{”,“}”的配对符。
s 搜寻某行列范围。
g 搜寻整个编辑缓冲区的资料。
:1,$s/old/new/g 将文件中所有的『old』改成『new』。
:10,20s/^/ / 将第10行至第20行资料的最前面插入5个空白。
(vim)
/字符串 后边输入查询内容可保存至缓冲区中,可用↑↓进行以往内容选择。
另外:将光标移动在选定单词下方按*,则可以选中此单词作为查询字符,可以避免输入一长串字符的麻烦。
 (vim) 大小写替换
首先用按v开启选择功能,然后用↑↓←→键来选定所要替换的字符,若是小写变大写,则按U;反之按u;
如果是选择单词,则可以在按v后,按w,最后按U/u,这样就可以将字符随意的改变大小写了,而不用删除后重新敲入。

 资料的连接
J 句子的连接。将游标所在之下一行连接至游标该行的后面。
 环境的设定
:set all 可设置的环境变量列表
:set 环境变量的当前值
:set nu 设定资料的行号。
:set nonu 取消行号设定。
:set ai 自动内缩。
:set noai 取消自动内缩。
(vim)
:set ruler 会在屏幕右下角显示当前光标所处位置,并随光移动而改变,占用屏幕空间较小,使用也比较方便,推荐使用。
:set hlsearch 在使用查找功能时,会高亮显示所有匹配的内容。
:set nohlsearch 关闭此功能。
:set incsearch 使Vim在输入字符串的过程中,光标就可定位显示匹配点。
:set nowrapscan 关闭查找自动回环功能,即查找到文件结尾处,结束查找;默认状态是自动回环

 ex指令
 读写资料
:10,20w test 将第10行至第20行的资料写入test文件。
:10,20w>>test 将第10行至第20行的资料加在test文件之后。
:r test 将test文件的资料读入编辑缓冲区的最后。
:e [filename] 编辑新的文件。
:e! [filename] 放弃当前修改的文件,编辑新的文件。
:sh 进入shell环境,使用exit退出,回到编辑器中。

:!cmd 运行命令cmd后,返回到编辑器中。
 删除、复制及搬移
:10,20d 删除第10行至第20行的资料。
:10d 删除第10行的资料。
:%d 删除整个编辑缓冲区。
:10,20co30 将第10行至第20行的资料复制至第30行之后。
:10,20mo30 将第10行至第20行的资料搬移至第30行之后。

分享到:
评论

相关推荐

    一张图记住 Vim 常用命令

    本来不算写 Vim 使用教程的,因为我想网上应该会有很多,然后我去搜了一下看到别人写的好丑好乱啊,于是自己寻找资料再加上自己的总结得出本文。 文章目录一、图片二、详解1、Vim 的基本概念2、Vim 的基本操作a、...

    如何使用 Linux 编辑器 vim.doc

    总结:vim 编辑器是 Linux/UNIX 上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。vim 没有菜单,只有命令。命令模式是 vim 的默认模式,在命令模式下,我们可以输入各种命令来执行不同的操作。

    Vim编辑器常用的命令总结

    所以本文就来介绍vim以及它的常用命令,Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用 vim键盘图中文版: tips:在linux环境下,可以在命令行输入...

    vi/vim常见问题常见命令解答,非常实用的速查手册

    资源摘要信息中,我们将对vi/vim常见问题的解答进行总结,涵盖了从基本概念到高级使用技巧的所有方面。 一、vi/vim的基本概念 * 什么是vi/vim?vi/vim是可视化的编辑器,允许用户在编辑文本时实时查看结果。 * vi/...

    吴天雄--vim编辑器.doc

    、搜索查找/、替换、显示行号、打开多个文件进行切换)、第六部分:编辑模式,第七部分:实用功能(vim中计算器的使用、代码着色),第八部分:扩展(vim配置、解决异常退出、别名机制、退出方式:x)

    Hacking Vim

    除了实现对VI的兼容性外,VIM还扩展了很多的功能,包括语法高亮,代码折迭,脚本扩展等等,Packt Publishing出版社出版的这本书《Hacking VIM》就对VIM使用的一些TIP作了介绍,介绍的内容包括定制篇,移动篇,效率篇...

    Linux教程-linux-文本处理-vim.docx

    Vim 编辑器基础知识点总结 一、Vim 编辑器简介 Vim(VISUAL EDITOR iMproved)是一款功能强大的文本编辑器,于 Linux 中广泛应用于编辑纯文本文件。相比其他编辑器,如 nano 和 gedit,Vim 提供了更多的功能和灵活...

    vim如何快速从插入模式进入命令模式(正常模式).docx

    Vim 编辑器是一款功能强大且灵活的文本编辑器,但是在实际使用中,许多用户经常会遇到从插入模式切换到命令模式(正常模式)的问题。为解决这个问题,本文总结了五种快速从插入模式进入命令模式的方法。 一、按 ESC...

    vim+gcc+gdb使用合集

    这篇博客是小黑总结出来查询用的功能文档,适合已经对Linux系统有所了解的小白,喜欢的同学可以收藏。希望能帮到大家提高效率。 一, vim常用命令 命令/编辑模式切换 [i/ESC] 以下操作都是在esc模式下的 以上都是...

    分钟教你shell脚本入门PPT课件.pptx

    * 文件名称补全功能:可以自动补全文件名称,例如使用 vim 来读取某个文件,可以输入 vim /etc/man 之后,直接按下 [Tab] 键,该文件名称就会被自动补上。 * 命令记忆能力:Linux 可以记忆以前输入过的命令,只要...

    学python安装的软件总结

    Python开发软件可根据其用途不同分为两种,一种是Python代码编辑器,一种是Python集成开发工具,两者的配合使用可以极大的提高Python开发人员的编程效率,以下是常用的几款Python代码编辑器和Python集成开发工具。...

    ansible的yum安装和常用命令使用

    [root@localhost ~]# vim /etc/ansible/hosts ## [dbservers] ## db01.intranet.mydomain.net ## db02.intranet.mydomain.net ## 10.25.1.56 ## 10.25.1.57 [test] #添加一个组名 192.168.231.129 #添加被管理主机...

    更有效率的使用VisualStudio

    虽然说Vim和Emacs是神器,但是对于使用VisualStudio的程序员来说,我们也可以通过一些快捷键和潜在的一些功能实现脱离鼠标写代码,提高工作效率,像使用Vim一样使用VisualStudio。当然,如果想真正像使用Vim一样使用...

    个人安装mqtt的记录

    `sudo vim /etc/emqx/emqx.conf` 修改用户名、密码、端口号等配置项,例如: `listener { mqtt { protocol_version = mqttv311 } }` 防火墙配置 启动防火墙: `sudo systemctl start firewalld` 开放MQTT...

    linux命令(面试)

    Linux 命令进行详细的解释和总结,涵盖了在 Linux 中的基本命令、目录操作、查看当前进程、查看当前路径、清屏、退出当前命令、执行睡眠、查看当前用户 ID、查看指定帮助、ls 命令、查看文件内容、列举常用的 ...

    西北工业大学-操作系统实验报告-实验三.doc

    程序的主要功能是读取文件内容,并打印在屏幕上。 四、实验总结 通过本实验,我们学习了 vi 编辑器的基本使用,包括两种不同模式的区别,如何在两种模式之间切换,以及常用的编辑命令等。同时,我们还学习了使用 ...

    linux实验报告vi编辑器的使用.pdf

    Linux实验报告Vi编辑器的...Vi和Vim是我们在Linux中最常用的编辑器。掌握Vi(Vim)最简单的用法,以让我们作为Linux入门级用户在最短的时间内学会使用它。并且在今后的学习中要能够熟练的使用Vi/Vim编辑器,加强练习!

    python web开发工程师面试的题目与技巧.doc

    * Vim的常用操作 * Kill命令的参数及信号(大概了解就行) * Docker的使用场景 项目 * 在项目中的职责(适当的加一点自己做了一些模块的开发方案会好一点) * 以前的公司的工作流程 * 对技术难点或者发现需求有...

Global site tag (gtag.js) - Google Analytics