vim常用命令总结

Vim编辑器(visual interface improved

 学习了一段时间的vim后,从网上和书本中总结了一些最常用的vim命令,以下内容大部分来自网络,经过实际操作验证

Vimvi的升级版本,但在redhat6.4里面默认是没有装的,所以需要安装,用以下命令即可安装:yum install �Cy vim


Vim filename:打开一个文件且默认是命令行模式或者创建一个空文件(如果filename不存在)

vim配置文件是/etc/vimrc

在练习之前可以对vim做一点小小的调整。编辑~目录下的.vimrc(如果没有直接创建,也可以直接修改配置文件/etc/vimrc),添加如下信息:

setts=4    表示tab键的宽度

setautoindent  表示自动缩进

syntax on    语法高亮

 

在命令行模式下:

a:在光标所在字符后插入

A:在光标所在行末尾插入

i:在光标所在字符前插入

I:在光标所在行首插入

o:光标所在行下一行插入

O:光标所在行上一行插入

:set nu :设置行号

:set nonu: 取消设置行号

G:跳到最后一行

gg:跳到第一行

nG:跳到第n

0:跳到行首

$:跳到行尾

x:删除光标所在字符

X:删除光标前字符

dd:删除光标所在行

ndd:删除光标所在行以下n行(包括光标所在行)

dG:删除所在行和以后的行

D: 删除所在行到行尾

yy:复制当前行

nyy:复制下面n行(包括光标所在行)

p(小写):在所在行下一行粘贴

P(大写):在所在行上一行粘贴

ZZ保存并退出

/keyword: 搜索关键字,用你在关键字之间切换

 

在末行模式下:

!表示强制的意思

:w:保存

:wq:保存并退出

:wq!:强制保存并退出(:x!)

:sh : 进入命令行界面,执行完后Ctrl+d返回继续编辑文档

:!cmd: 执行cmd命令后enter建继续编辑文档

 

 

r  /etc/filename  在光标下一行导入该文件的内容

r  !command   在下一行插入命令执行结果

 

 

查看文件

如果是想强制性地避免对文件进行修改,可以用命令:
vim -M filename

 

 

vim 选择文本

v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。

V   从光标当前行开始,光标经过的行都会被选中,再按一下V结束(选中一行)

Ctrl + v  从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按一下Ctrl + v结束。

ggvG 选中全部的文本, 其中gg为跳到行首,v开始选中,G到末尾

 

选中后就可以用编辑命令对其进行编辑

d  删除 
y  复制(默认是复制到"寄存器) 
p 粘贴(默认从"寄存器取出内容粘贴,如果内容是一行则从下一行粘贴,如果不是一行             则从当前所在字符后粘贴) 

 

重做(对撤消的撤消)
  
如果你撤消了多次,你还可以用CTRL-R(重做)来反转撤消的动作。换句话说,它是对撤消的撤消。"u"CTRL-R你可以找回任何一个操作状态

 

 

在命令之前加上数字表示命令执行的次数

9k5j4h8l5d

 

 

放弃编辑(在没有保存的前提下)
丢弃所有的修改并退出,用命令":q!"。用":e!"命令放弃所有修改并重新载入该文件的原始内容。U表示撤销所有的编辑

 

 

Word为单位的左右移动
使用"w"命令可以将光标向右移动一个word的首字符上,

使用"b"命令可以将光标向左移动一个word的首字符上。

 

 

移动到行首或行尾

“$命令将光标移动到当前行行尾。"^"命令将光标移动到当前行的第一个非空白字符上。"0"命令则总是把光标移动到当前行的第一个字符上。键也是如此。"$"命令还可接受一个计数,如"1$"会将光标移动到当前行行尾,"2$"则会移动到下一行的行尾,如此类推。

 

 

移动到指定行

首先显示行号,然后用数字加上ggG,比如23gg或者23G表示定位到23

命令"H","M","L",分别将光标跳转到第一行,中间行,结尾行部分。在末行模式下45跳转到45

 

 

告诉你当前的位置

使用CTRL-G命令。"set nu"在每行的前面显示一个行号。相反关闭行号用命令":set nonu"":set ruler"Vim窗口的右下角显示当前光标位置。

 

滚屏
CTRL-U
显示文本的窗口向上滚动了半屏。CTRL-D命令将窗口向下移动半屏。一次滚动一行可以使用CTRL-E(向上滚动)CTRL-Y(向下滚动)。要向前滚动一整屏使用命令CTRL-F。另外CTRL-B是它的反向版。"zz"命令会把当前行置为屏幕正中央,"zt"命令会把当前行置于屏幕顶端,"zb"则把当前行置于屏幕底端.

 

 

简单搜索
 "/string"
命令可用于向后搜索一个字符串。用n(下一个)或者N(上一个)在找到的字符之间切换。

"?string"命令可用于向前搜索一个字符串。用n(上一个)或者N(下一个)在找到的字符之间切换。

搜索之后会出现高亮,取消高亮就用”:nohl”
如果查找内容忽略大小写,则用命令"setignorecase", 返回精确匹配用命令"set noignorecase" 

 

查找并替换

%s/old/new/g    :全文将old替换为new

%s/old/new/cgi    :全文将old替换为new,替换时会提醒是否替换,且忽略大小写

4,88s/old/new/g  :4行到88行的old替换为new

c表示询问是否替换,g表示整行替换,i表示忽略大小写)

s/old/new/g  表示只对当前行处理

 

在文本中查找光标所在Word下一个word
把光标定位于这个word上然后按下"*"键。Vim将会向后进行搜索当前字符串。"#"命令是向前搜索。

 

 

查找整个word
如果你用"/the"来查找Vim也会匹配到"there"。要查找作为独立单词的"the"使用如下命令:"/the\>""\>"是一个特殊的记法,它只匹配一个word的结束处。

 

 

匹配一行的开头与结尾
 ^ 
字符匹配一行的开头。$字符匹配一行的末尾。
 
所以"/was$"只匹配位于一行末尾的单词was,所以"/^was"只匹配位于一行开始的单词was

 

 

删除一个单词

diwbdw

 

复制

复制一个单词byw

复制一行yy

 

 

替换单个字符
"r"
命令等待你键入下一个字符用以替换当前光标下的那个字符

 

 

显示当前正在编辑的文件
Ctrl+g或者命令":args"

 

 

编辑另一个文件
用命令":e  file.txt",当你发现正在编辑的文档有几句话需要记录的话可以使用该方法,这样会保存在当前目录,要返回刚才编辑的文本,需要使用”e filename ”

 

 

文件列表
可以在启动Vim时就指定要编辑多个文件,用命令"vim one.c two.c three.c"Vim将在启动后只显示第一个文件,完成该文件的编辑后,保存”:w”,可以用命令:":n" 继续下一个文件的编辑,命令:":wn"可以合并这一过程(保存进入下一个文件)。要编辑前一个文件就用prev,编辑过程中用”:args”查看编辑的文件名要在两个文件间快速切换,使用CTRL-^,编辑最后一个文件用:last,编辑第一个文件:first

 

 

另存为

如果想将修改的内容另存为,则使用  save  as otherfilename

 

 

 


你可能感兴趣的:(linux,常用命令,vim,vim编辑器,linux大牛)