`
wangshaofei
  • 浏览: 283528 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

vim 相关操作方法命令

    博客分类:
  • php
vim 
阅读更多
1. 翻页
整页翻页 ctrl-f ctrl-b
f就是forword b就是backward
翻半页
ctrl-d ctlr-u
d=down u=up
滚一行
ctrl-e ctrl-y
zz 让光标所杂的行居屏幕中央
zt 让光标所杂的行居屏幕最上一行 t=top
zb 让光标所杂的行居屏幕最下一行 b=bottom
2. 替换
注意,其中“s”为表示替换动作,“%”表示所有行,“g”表示全文,“^”表示行首,“$”表示行尾。
在文件的第一行或其5行至最后一行的行首插入内容     :5,$s/^/要加的内容/ 在文件的每一行的行尾添加内容   :%s/$/要加的内容/g 在整个文件中替换string成string1  :%s/string/string1/g

替换操作
经常用到的一些简单替换命令有:
◆ s 将当前字符替换为一个或多个字符,例如5 s 表示将从当前字符开始的5个字符替换为一个或多个字符; ◆ S 将当前行替换为一个或多个字符; ◆ r 单个字符替换。

文本格式转换
将DOS格式文本转成Unix格式文本,命令如下:
:1,$s/^M//g
其中^M是同时Ctrl+V+M按出来的,表示回车。
在行首尾添加字符串
用下列命令在文本每行的行首添加字符串“NewString”,请注意空格的存在。
:g/^/s//NewString/g :%s/^/NewString/g
用下列命令在每行的行尾添加字符串“NewString”:
:g/$/s//NewString/g :%s/$/NewString/g
从文本的第3行至最后一行的行首全部插入字符串“NewString”:
:3,$s/^/NewString/

在整个文件中替换
在整个文件中替换特定字符串,所用的命令如下:
:%s/old_string/new_string/g
如果仅将文件中的第3行到第7行中的“old_string”替换成“new_string”,那么使用下列命令:
:3,7s/old_string/new_string/
复制 y 粘贴 p 选择开始 v
3. 复制
请问如何用vi 复制第5行到第10行并粘贴到第12行之后
命令行模式下输入 
:5,10 co 12
4.格式化代码
 VIM格式化代码:
  格式化全文指令  gg=G
  自动缩进当前行指令  ==
      格式化当前光标接下来的8行  8=
      格式化选定的行  v 选中需要格式化的代码段 =
      备注:   gg  ——  到达文件最开始   =   ——  要求缩进   G     ——  直到文件尾
  注释代码:(这个原理上就是使用VIM的正则替换)   以C++和Python为例。
  注释连续行:
  指令格式  :起始行,终止行s/要替换的字符/替换为字符/g
  如,       C++源文件中注释掉10~20行,指令为:   :10,20s/^/////g
  Python源文件中注释掉10~20行,指令为:   :10,20s/^/#/g
  取消连续行注释:   指令格式同上。只是要替换字符与替换为字符要互换:
  如,       取消C++源文件中的10~20行的注释,指令为:   :10,20s/^//////g
  取消Python源文件中的10~20行的注释,指令为:   :10,20s/^#//g (1) gg=G 是一个自动缩进的命令 (在命令状态下直接输入,不需要输入冒号),gg是文件首,G是文件尾,所以 gg=G 是整理全部代码。
(2) == 整理当行,加行数整理多行。
(3) ={ 或者 =i{ 整理一个代码块。
(4) mG=nG 当 m 不等于 n 的时候能完成从 m 行到 n 行的局部的缩进。例如,从80行缩进直到100行,你可以用 80G=100G,在命令状态下使用 :set nu 查看行号,一般更习惯将 se nu 直接写入Vim的配置文件,这样每次打开都会显示行号。
(5) 在写代码前,设置自己的代码风格。在配置文件里添加命令:
" 设置缩进和行号
set nu ru ai si ts=4 sw=4
(6) :set equalprg=indent
意思是用indent程序处理等号命令,indent默认是gnu风格。
建议不要改,代码风格应该自己主动养成,=适用于修改代码或者粘贴别处代码后整理缩进。
这里又体现出不用indent的好处了,如果用indent,单纯格式化代码块会丢统一的行首缩进,而且选中的如果不是内部完整的代码块,会出错,把出错的输出贴到了代码里....弊端很多。


1.12. 定宽文本排版

在传统的 Unix 环境下,文本文件的定义是具有一定长度限制的文本行的组合 [19]。虽然 Vim 本身对行的长度没有任何实际的限制,但有一些工具有这样的限制。为了最大程度的兼容性,也为了在显示、打印等处理上比较方便,一般推荐在邮件和源代码中一 般不要超出 72 列(最多不超出 80 列)。Vim 在处理定宽的文本方面具有特殊的支持能力。下面是一个在 Vim 中把行宽(使用选项 textwidth)设为 40 后输入 Harry Potter and the Half-Blood Prince 的第一句话的结果:

输入时我只使用了英文字母和空格,换行符都是 Vim 自动插入的。如果在某一行加入或删除了一些字符后行不就不齐了吗,该如何处理?很简单,把光标移到要重新格式化的文本开头,使用“gq”命令后面跟一个光 标移动命令确定重新格式化的范围。比如“gq}”(格式化一段),“gq5j”(格式化 5 行),“gqG”(格式化至文件末尾)。

除了选项 textwidth 外,选项 formatoptions 确定了跟文本格式化有关的基本选项,常用的数值有:

  • t:根据 textwidth 自动折行;
  • c:在(程序源代码中的)注释中自动折行,插入合适的注释起始字符;
  • r:插入模式下在注释中键入回车时,插入合适的注释起始字符;
  • q:允许使用“gq”命令对注释进行格式化;
  • n:识别编号列表,编号行的下一行的缩进由数字后的空白决定(与“2”冲突,需要“autoindent”);
  • 2:使用一段的第二行的缩进来格式化文本;
  • l:在当前行长度超过 textwidth 时,不自动重新格式化;
  • m:在多字节字符处可以折行,对中文特别有效(否则只在空白字符处折行);
  • M:在拼接两行时(重新格式化,或者是手工使用“J”命令),如果前一行的结尾或后一行的开头是多字节字符,则不插入空格,非常适合中文

上面提到的注释,可以是 C/C++ 中的“//”和“/*”,也可以是邮件中引用原文使用的“>”等字符(具体由 comments 选项控制;参见“:help 'comments'”)。Vim 在遇到这些字符时,能够相当智能地进行处理,足


 

 

zz是卷页面使光标到中间
M是移动光标到中间

:set scrolloff=10 可以让光标一直在中间
调整数的大小可以控制区域

  Vim(2):多标签切换|窗口拆分-tabnew 收藏 2012年04月24日

vim 从 vim7 开始加入了多标签切换的功能, 相当于多窗口. 之前的版本虽然也有多文件编辑功能, 但是总之不如这个方便啦。 用法 :tabnew [++opt选项] [+cmd] 文件            建立对指定文件新的tab :tabc       关闭当前的tab :tabo       关闭所有其他的tab :tabs       查看所有打开的tab :tabp      前一个 :tabn      后一个 标准模式下: gt , gT 可以直接在tab之间切换。 还有很多他命令, 看官大人自己, :help table 吧。 看过Swaroop的书之后,就越来越喜欢VIm了。 尤其是多窗口,真是非常Cool哦~ 解释一下这是咋弄出来的: 在Vim中开多窗口其实比较简单,也有不只一种方法,直接使用命令:new默认就是打开一个水平分割的新窗口。另外一个命令就是:split(sp)。 但是默认水平分割多少有点不爽,因为本来屏幕就是宽屏的,代码几乎不会写那么长了,而真正缺少的垂直空间,所以这个时候就要用到垂直分割了,命令是:vsplit(vs),很简单了一目了然。 打开了这么多窗口不知道如何切换肯定不行啦。切换也很简单,组合键ctrl+w,然后通过j/k,来定位窗口,注意看好窗口光标变化。不过个人感觉这样比较麻烦,每切换一次窗口都要先按组合键才行。还好还有另一种方法,那就是直接连续按两次ctrl+w组合键,vim会自动跳到下一个窗口。 另外更改窗口宽度的命令是: Crtl+w > 将当前窗口向右边扩展一行,将 > 换成 < 就是向左边扩展一行。也可以在之前使用数字代表扩展的行数, 5 Ctrl+w > ,向右边扩展5行。 更改窗口高度类似,只是命令是Ctrl+w + ,增加高度,- 减小高度。

from:http://hi.baidu.com/dtzw/blog/item/64a6f3f2fc10721eb07ec590.html

 

 

 

vim是个优秀的编辑器,有很多功能你不知道。 比方说vim可以模拟多窗口(多tab)以及拆分窗口,可以同时编辑多个文件。 多tab时,每个tab可以编辑一个文件,但不同的tab不能同时显示,要切换。 拆分窗口后,窗口是同时显示的,每个窗口可以编辑一个文件。 两种方式可以同时生效的,现在试一下: 命令模式:输入sp,窗口就上下拆分成两个窗口了。 按ctrl+w然后再按c,就关掉当前窗口了。 连按两次ctrl+w,可以在窗口间切换。 输入vs,就是垂直拆分。 也可以多tab,输入命令tabnew,就创建一个新tab,命令tabn就切换到下一个tab,tabn3就切换到第三个tab,tabc就关掉当前tab。 具体看vim的手册,或者vim里help 某个命令。 vim 从 vim7 开始加入了多标签切换的功能, 相当于多窗口. 之前的版本虽然也有多文件编辑功能, 但是总之不如这个方便啦。 用法 :tabnew [++opt选项] [+cmd] 文件            建立对指定文件新的tab :tabc       关闭当前的tab :tabo       关闭所有其他的tab :tabs       查看所有打开的tab :tabp      前一个 :tabn      后一个 标准模式下: gt , gT 可以直接在tab之间切换。 还有很多他命令, 看官大人自己, :help table 吧。 看过Swaroop的书之后,就越来越喜欢VIm了。 尤其是多窗口,真是非常Cool哦~ 解释一下这是咋弄出来的: 在Vim中开多窗口其实比较简单,也有不只一种方法,直接使用命令:new默认就是打开一个水平分割的新窗口。另外一个命令就是:split(sp)。 但是默认水平分割多少有点不爽,因为本来屏幕就是宽屏的,代码几乎不会写那么长了,而真正缺少的垂直空间,所以这个时候就要用到垂直分割了,命令是:vsplit(vs),很简单了一目了然。 打开了这么多窗口不知道如何切换肯定不行啦。切换也很简单,组合键ctrl+w,然后通过j/k,来定位窗口,注意看好窗口光标变化。不过个人感觉这样比较麻烦,每切换一次窗口都要先按组合键才行。还好还有另一种方法,那就是直接连续按两次ctrl+w组合键,vim会自动跳到下一个窗口。 另外更改窗口宽度的命令是: Crtl+w > 将当前窗口向右边扩展一行,将 > 换成 < 就是向左边扩展一行。也可以在之前使用数字代表扩展的行数, 5 Ctrl+w > ,向右边扩展5行。 更改窗口高度类似,只是命令是Ctrl+w + ,增加高度,- 减小高度。

 

 

VIM 标签页 (tab) 新建标签页 使用:tabe命令和文件名参数,可以在新标签页中打开指定的文件。也可以使用:tabnew命令,在新标签页中编辑新的文件。命令:tab split将在新标签页中,打开当前缓冲区中的文件。 命令:tabf允许你在当前目录搜索文件,并在新标签页中打开。比如我想打开当前目录下的img.txt文件,那么就可以使用:tabf img.*命令。请注意,此命令只能打开一个文件,如果搜索出多个匹配文件,将提示你“文件名过多”,这时你需要给出更精确的搜索条件以打开文件。 Vim默认最多只能打开10个标签页。你可以用set tabpagemax=15改变这个限制。 列示标签页 命令:tabs可以显示已打开标签页的列表,并用“>”标识出当前页面,用“+”标识出已更改的页面。 关闭标签页 命令:tabc可以关闭当前标签页。而命令:tabo将关闭所有的标签页。 切换标签页 命令:tabn或gt可以移动到下一个标签页。而命令:tabp或gT将移动到上一个标签页。如果已经到达最后面或最前面的标签页,将会自动转向循环。 如果你打开了很多标签页,那么可以使用:tabfirst或:tabr命令,移动到第一个标签页。使用:tablast命令,移动到最后一个标签页。 移动标签页 如果你希望按照指定的次序排列标签页,那么你可以使用:tabm命令。请注意,标签页次序是从0开始计数的。比如命令:tabm 1将把当前标签页移动到第2的位置。如果你没有为:tabm命令指定参数,那么当前标签页将会被移动到最后。 配置标签页 默认情况下,只有用户新建了标签页才会在窗口上方显示标签栏,这是由选项set showtabline=1决定的。如果我们希望总是显示标签栏,那么可以用set showtabline=2命令来设置。如果我们希望完全不显示标签栏,那么可以使用set showtabline=0来设置。 多标签页命令 使用:tabdo命令,我们可以同时在多个标签页中执行命令。比如我们打开了多个标签页,需要把这些文件中的“food”都替换成“drink”,那么就可以使用:tabdo %s/food/drink/g命令,一次完成对所有文件的替换操作,而不用针对每个文件重复操作。 图形界面 如果你使用的是带有图形界面的gVim,那么新建、关闭和打开标签页的操作,都可以通过在标签页上右击鼠标完成。只需要点击相应标签,就可以在不同的标签页间切换。 通过:help tab-page-intro命令,可以获得关于标签页使用的更多信息。 命令小结 :tabnew    新建标签页 :tabs    显示已打开标签页的列表 :tabc    关闭当前标签页 :tabn    移动到下一个标签页 :tabp    移动到上一个标签页 :tabfirst    移动到第一个标签页 :tablast    移动到最后一个标签页

分享到:
评论

相关推荐

    linux下vim命令详解

    Vim提供了丰富的复制与粘贴命令,使得文本操作更加便捷。 - `dd`:删除当前行。 - `yy`:复制当前行。 - `p`:在光标下方粘贴。 - `P`:在光标上方粘贴。 - `yw`:复制当前单词。 - `y$`:复制从当前位置到行尾的...

    Linux vim 常用操作命令

    ### Linux Vim 常用操作命令详解 #### 引言 Vim(Vi IMproved)是一种高度可配置、高效的文本编辑器,它基于vi编辑器发展而来,是Linux及类Unix系统中最常用的文本编辑工具之一。Vim因其强大的功能、灵活的定制...

    vim最全命令表(加重点)

    以上就是vim编辑器中最全面的命令表,包含了从基本操作到高级功能的详细介绍。通过熟练掌握这些命令,可以极大地提高使用vim编辑器的效率和舒适度。无论是Linux还是其他操作系统上的文本编辑任务,vim都能成为你的...

    vi/vim命令(图片)

    对照键盘,详细的vi使用方法,可打印贴在墙上,便于学习。

    笨方法学 Vim Script

    《笨方法学 Vim Script》是一本专为 Vim 用户编写的指南,旨在帮助用户深入理解并掌握 Vim 的内置脚本语言——Vim Script。通过实践和探索,你可以逐步提升在 Vim 编辑器中的效率和定制化能力。Vim Script 是 Vim ...

    vim编辑器操作命令。

    文档操作方面,Vim提供了丰富的命令来处理文件: - `:e file`:关闭当前文件并打开新文件。 - `:e! file`:放弃当前文件的修改并打开新文件。 - `:e+ file`:开始新文件,从文件尾部开始编辑。 - `:e+n file`:开始...

    vim命令详解

    本文档将详细介绍 Vim 命令的使用方法和技巧,帮助读者快速掌握 Vim 的基本使用和高级应用。 命令历史 在 Vim 中,可以使用 : 或 / 开头的命令来查看和选择历史命令。例如,可以键入 : 然后按下上下箭头来选择某个...

    Linux&vim常见命令.zip

    最后,03 软件安装文件可能介绍如何在Linux环境下安装软件,通常涉及使用`apt-get`或`yum`命令,以及编译源代码安装等方法。 总之,Linux和vim的熟练使用是IT专业人士的基本技能,它们提供了高效的工作方式,能够让...

    ubuntu_vim命令.pdf

    本文档旨在介绍 Ubuntu 系统下 VIM 的基本使用方法及一些常用命令。 #### 二、VIM的基本状态 VIM 主要有三种基本的工作模式: 1. **普通模式**:启动 VIM 后默认进入的模式,可以执行大部分命令。 2. **插入模式*...

    vim命令大全

    vim是一款强大的文本编辑器,其命令行模式提供了丰富的操作功能。在vim中,掌握一些基本的命令可以极大地提高编辑效率。本篇文章主要介绍vim中的查找与替换命令,这是vim中最常用的功能之一。 1. 查找命令: 在vim...

    centos7解决无法使用vim命令.docx

    ### CentOS 7 无法使用 Vim 命令问题解析及解决方案 #### 一、问题背景与概述 在 CentOS 7 系统中,用户可能会遇到无法使用 Vim 编辑器的情况。具体表现为当用户尝试使用 `vim` 命令时,系统提示 `-bash: vim: ...

    vim命令实用命令汇集和使用方法

    以下是一些基本且实用的`vim`命令及其使用方法: ### 1. 查找与替换 - `/xxx` 和 `?xxx`: 使用 `/` 或 `?` 命令可以在文档中查找匹配的字符串。`/` 向下查找,`?` 向上查找。`xxx` 可以是正则表达式。默认区分大小...

    vim使用进阶:vim使用技巧、配置、命令和插件

    17. **在VIM中使用GDB调试**:阐述了如何在vim中集成gdb进行程序调试,以及vim的编译方法。 这个系列教程全面地介绍了vim的高级特性,旨在提升用户对vim的熟练程度和使用效率,对于开发者来说是一份宝贵的资源。...

    vim用户手册中文版

    - **动手比动脑更重要**:尽管如此,理解和掌握Vim中数百种命令和操作的内在逻辑也很关键。这有助于找到最高效的编辑方法,并减少不必要的键盘敲击。 #### 三、Vim的不同使用阶段 - **第一阶段:初识阶段**:在这...

    vim操作命令

    Vim 操作命令详解 Vim 编辑器是 Linux 下最流行的文本编辑器之一,具有强大的编辑功能和高效的编辑...本文详细介绍了 Vim 操作命令的使用方法和实践技巧,可以帮助用户快速掌握 Vim 编辑器的使用,并提高编辑效率。

    Linux中vim安装包

    Vim在命令模式下工作,通过键盘指令进行操作,虽然上手可能有些难度,但一旦熟悉,其高效性和灵活性将极大地提高工作效率。 **安装Vim** 在大多数Linux发行版中,可以通过包管理器来安装Vim。以下是在几种常见的...

    Vim完整中文手册.pdf

    为了帮助用户快速上手并熟练使用Vim,本文将依据Vim完整中文手册的内容,介绍Vim的基本命令、功能以及操作方法。 首先,我们必须了解如何在Vim中移动光标,这是编辑文本的第一步。Vim允许用户使用传统的箭头键,...

    VIM使用指南_推荐

    该指南旨在通过一种独特的“清单式学习”方法,帮助读者在短时间内掌握VIM的基本操作与高级技巧,包括浏览、编辑文本、使用插入模式、复制粘贴等功能,以及如何利用重要的VIM插件和多窗口编辑提升工作效率。...

    vi vim 常用操作

    本文将介绍 `vi` 和 `vim` 的一些常用操作,帮助初学者快速掌握这些工具的基本使用方法。 #### 二、模式切换 在 `vi` 或 `vim` 中,有三种主要的工作模式:命令模式(Command Mode)、插入模式(Insert Mode)和...

Global site tag (gtag.js) - Google Analytics