`
rocky2com
  • 浏览: 38663 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

vi/vim 命令手册(高级篇)

 
阅读更多

vi/vim命令手册(高级篇)

多文件编辑
如果当前行还没有保存(并且autowrite未设置),则不能使用:e、:n和:rew命令。命令后面的!使得安全特性无效。

命令
功能

:e foo

停止对当前文件的编辑,开始编辑foo文件

:e! foo

同上,但是取消对当前文件的修改
:e!
装入当前文件的最近保存的内容
[Ctrl+^]
返回到最近编辑的文件
:n
编辑下一个文件(当用vi同时编辑多个文件时)

:set autowrite(aw)

在用:n切换到下一个文件之前自动保存当前文件
:rew
返回到文件列表的第一个文件(当用vi同时编辑多个文件时)

:r foo

把foo文件的内容插入当前行的下面
多窗口(vim
命令
功能
:sq
把当前窗口拆分为两个
:new
打开一个新的空白窗口
:[Ctrl+w][Ctrl+w]
在窗口之间切换
:on
把当前窗口变为唯一的窗口
:q
退出当前窗口
:qa
退出所有窗口
:xa
保存并退出全部窗口
[Ctrl]+
增大窗口尺寸
[Ctrl]-
减小窗口尺寸

搜索与重复
搜索模式pat可以时一个字符串,也可以是一个正则表达式。vi使用一套专用的字符序列来执行一行内的搜索。

命令
功能
/pat
向前搜索pat
?pat
向后搜索pat
/printf
向前搜索printf
?[0-0]$
向后搜索行尾的数字
/^#
向前搜索行首的#
n
按上次搜索方向重复搜索
N
按与前次搜索的相反方向重复搜索

:set wrapscan(ws)

继续搜索直至达到文件尾

:set ignorecase(ic)

搜索时不区分大小写

:set magic

保留正则表达式字符的意义
fc
在当前行向前搜索字符c
Fc
在当前行向后搜索字符c
;
在当前行重复上次向前搜索
,
在当前行重复上次逆向搜索

替换
源模式s1也可以是正则表达式。使用欧冠地址时,"."代表当前行,"$"代表最后一行,"1,$"代表整个文件。

命令
功能
:.s/s1/s2
把当前行中第一次出现的s1替换为s2
:1,$s/s1/s2
把整个文件里的s1替换为s2
:1,$s/echo/printf/g
把全部的echo替换为printf
:1,$s/s1/s2/gc
按交互方式把全部s1替换为s2
:1,$s/#//g
删除文件中所有的“#”
:3,10s/^/#/g
在3至10行的行首插入“#”
:$s/$/;/
在最后一行的行尾插入“;”
:1,$s/s1/s2/g
把所有的s1替换为s2
:1,$s/HEAD/<&>/g
把所有的HEAD替换为<HEAD>
标志与书签
命令
功能
ma
设置一个标签a
'a
移动到标签a
"
在当前标志与前一个标志位置之间切换
重做与恢复
命令
功能
.
重复上次命令
u
取消上次的编辑命令(在vim里取消所有以前的命令)
[Ctrl+r]
重做上次取消的操作(只限于vim)
U
取消所有对当前行的操作
"4p
从缓冲区中恢复第4次最近的删除操作
缩写表示
命令
功能

:ab name stg

把name缩写为stg

:unab stg

删除stg缩写
:ab
列出所有的缩写
映射键
命令
功能

:map key commands

把key映射到commands

:map! key commands

在输入模式下把key映射到commands

:unmap key

取消命令模式下的key映射

:unmap! key

取消输入模式下的key映射
:map
显示命令模式下所有的映射
:map!
显示输入模式下的所有映射
UNIX的接口命令
命令
功能
:!cmd
执行UNIX的cmd命令
:!%
把当前文件作为shell或perl脚本执行

:r !cmd

把cmd命令的结果插入到当前行的下面

:r !head -n 3 foo

把foo文件前三行内容插入到当前行的下面
sh

暂时退出UNIX shell环境

[Ctrl+z]
暂停编辑(用fg命令可以返回vi编辑器)
:!cc%
编译正在编辑的C程序

:!javac %

编译正在编辑的Java程序
分享到:
评论

相关推荐

    学习vi和vim编辑器

     将近三十年的时间里,vi一直是unix与linux采用的标准编辑器,从1986年开始,《学习vi和vim编辑器(第7版)》一直是第一线的vi导引手册。但三十年来,unix已不再是三十年前的样子,这本书也不能一成不变。第7版的...

    学习vi和vim编辑器_第7版_中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    学习VI和VIM编辑器第7版中文

    将近三十年的时间里,vi一直是Unix与Linux采用的标准编辑器,从1986年开始,《学习vi和Vim编辑器》一直是第一线的vi导引手册。但三十年来,Unix已不再是三十年前的样子,这本书也不能一成不变。第7版的《学习vi和Vim...

    Vim用户手册中文版

    Vim用户手册中文版72.pdf,基本命令 and 高级应用

    vi命令手册

    vi 的工作模式 编辑模式 插入模式 命令模式 shell 切换 选项设置 vim 和 gvim 的高级特色

    linux笔记(包含常用命令,用户、网络设置)

    很全面的Linux知识点汇总,包含liunx发展史、文件系统介绍、基本指令信息、高级指令介绍、vi/vim全面介绍、服务、用户、网络配置等

    gVim用户手册 作者: Bram Moolenaar(中文版)

    介绍了gVim的基本命令、高级编辑命令等操作命令,以及gVim编辑文件的必要技巧,以下是部分目录: 起步 usr 01.txt 关于本手册 usr 02.txt Vim第一步 usr 03.txt 移动 usr 04.txt 小幅改动 usr 05.txt 定制你的Vim ...

    12本精彩的Linux书籍

    回首数年之前,当我需要在Linux下写大量的C程序的代码时,我总会参考Vi文本编辑器的快速参考手册。即使你已经用了很长时间的Vi和vim编辑器,如果你没有读过这本书的话,那么请你读一下这本书。你会惊讶于Vim编辑器的...

    Linux指令一周通 (技术图书大系).azw3

    2.27 vim指令:增强型vi文件编辑器 2.28 wc指令:计算字数 第3天 磁盘操作指令 3.1 automount指令:为auto文件系统配置挂载点 3.2 badblocks指令:检查磁盘坏道 3.3 cd指令:切换目录 3.4 cfdisk指令:磁盘分区 3.5 ...

Global site tag (gtag.js) - Google Analytics