首页 > 代码库 > vim基础使用

vim基础使用

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

http://www.cnblogs.com/shijiaqi1066/p/3931580.html

 

 

 

文本编辑器与字处理软件

字处理软件:Word, WPS

文本编辑器:处理ASCII数据

 

文本编辑:全屏,行(sed)

常用文本编辑器

  • nanoLinux中的一个简单的文本编辑器。
  • vi Visual Interface
  • vimvi improved    模式化,功能非常强大

 

使用vim

vim命令格式:# vim [options] [/path/to/somefile]

 

例:打开vim。在shell下输入vim,回车。

wps_clip_image-15414 

 

 

VIM导师

shell下使用 vimtutor 命令。

wps_clip_image-18777 

 

 

Vim工作模式

Vim的三种最基础工作模式:

命令模式以快捷键在命令模式做操作。vim默认为命令模式。

插入模式:即可以使用键盘做操作。

编辑模式:以命令与回车进行操作。

 

模式之间的切换

wps_clip_image-23877 

 

 

插入命令

如下按键,使vim从命令模式切换到插入模式,

a:在光标后附加文本

i:在光标前插入文本

o:在光标所在行之后下插入新行。

A:在本行行末附加文本。

I:在本行开始前插入文本。

O:在光标所在行之前插入新行。

 

 

光标(定位)命令

字符间跳转:

h左    l右    j下    k

 wps_clip_image-2228

 

数字+光标移动键

例:数字+h 向左侧跳指定个字符;一以此类推。

 

行内跳转:

^ 跳至行首的第一个非空白字符

$ 跳至绝对行尾

0 跳至绝对行首

 

单词间跳转:

w 后一个单词的词首

e 跳至当前或下一个单词启尾;

b 跳至当前或前一个单词启首;

 

句子间跳转:

)  下一句;

(  前一句;

 

段落间跳转:

}  下一段;

{  前一段;

 

屏幕中跳转:

H:移至屏幕上端。

M:移至屏幕中央。

L:移至屏幕下端。

 

 

行号命令

在编辑模式下,输入命令可以打开或关闭行号的显示。

:set nu :显示行号。

:set nonu :隐藏行号。

 

光标跳转至指定行:

gg :到第一行。

G :到最后一行。

nG :到第n行。

:n :到第n行。

 

 

删除命令

x:删除光标所在处字符。

nx:删除光标所在处后n个字符。

dd:删除光标所在行。

ndd:删除n行。

D:删除从光标所在处到行尾。

dG:删除光标所在行到文件末尾的内容。

 

在编辑模式下

:n1,n2d:n1,n2表示行号。删除指定范围的行。

 

 

复制和剪切命令

yy、Y:复制当前行。

nyy、nY:复制当前行以下n行。

dd:剪切当前行。

ndd:剪切当前行以下n行。

p、P:粘帖在当前光标所在行下或行上。

 

 

替换命令

有些小字符可以不进入命令模式。

r:更改光标所在处的字符。

R:从光标所在处开始替换字符,按下Esc结束

:%s/old/new/g :全文替换字符串。old表示原字符串,new表示新字符串。

:n1,n2s/old/new/g :在指定的行中替换字符串。n1n2表示行号。old表示原字符串,new表示新字符串。例:4,10s/superman/aoteman/g

:n1,n2s/old/new/g c :在命令后使用c,表示替换时,会提示。

 

技巧:

连续行注释

:n1,n2s/^/#/g :为n1行到n2行的行首插入“#”。n1n2为数字,表示行号;^是一个特殊符号,表示行首。

:n1,n2s/#//g :为n1行到n2行中的“#”去除。n1n2为数字,表示行号。

:n1,n2s/^#//g :为n1行到n2行中行首的“#”去除。n1n2为数字,表示行号。^是一个特殊符号,表示行首。

:n1,n2s/^/\/\//g :为n1行到n2行的行首插入“//”。n1n2为数字,表示行号;^是一个特殊符号,表示行首。\是转义符。

 

 

输入替换

在编辑模式下输入

:ab mymail ultraman@m78.net

回车后,在插入模式下每当输入了“mymail ”,vim将自动将其替换为“ultraman@m78.net

取消ab设置。

:unab mymail ultraman@m78.net

 

  

搜索命令

/string :命令模式下输入“/”再输入需要查找的字符串,回车。vi即会开始查找字符串。该搜索区分大小写。

 

n:定位到下一个匹配的字符串。

N:定位到上一个匹配的字符串。

 

在编辑模式写,打开忽略大小写功能

:set ic

关闭忽略大小写功能

:set noic

 

 

撤销命令

u:取消上一步操作。保存后无法再进行撤销。

 

 

保存与退出

在命令模式

保存 :w

另存为 :w /filepath/filename

保存退出 :wq

强行退出 :q!

 

或者“Shift+z+z”,即“ZZ”。也可以保存退出。

 

文件的所有者或者root用户,即便没有文件的写权限,也可以强行保存退出。

 

 

vi中执行命令

在编辑模式下,使用“:!”后跟Linux命令,这样就可以在vi中执行Linux命令了。

例:查看/root目录下的内容。

:! ls /root

 

 

导入文件

:r /fileparh/filename

将指定文件的内容导入到当前正在编辑的哦文件中。

 

将执行结果导入到当前编辑的文件中。

:r !linux

 

例:这是一个小技巧,在文件中导入时间。

:r !date

 

 

使用map定义快捷键

使用map可以在vi中定义快捷键。使用unmap取消快捷键。

 

例:定义Shell脚本的注释

输入“:map ”。

定义Ctrl+p,需要在命令模式下输入Ctrl+v,Ctrl+p,或Ctrl+v+p,表现在vi中,显示为“^P”。注意:千万不能直接输入^符号,这是无效。

在“^p”后跟上vi命令模式下操作的命令。输入使用注释,则输入“I#<ESC>”。

 

在命令模式下就可以使用【Ctrl+P】为光标当前行添加注释。

 

例:定义【Ctrl+E】在文档中快速插入自己的邮箱。

:map ^E imy@mail.net

 

例:定义【Ctrl+B】在光标所在行的第一个字母取出。该快捷键可用于shell脚本中删除第一个字母 #

:map ^B 0x

 

 

vi的配置文件

vim的设置无法被保存。退出再次使用,之前的设置则无效。例:在vim中设置了 :set nu 显示行号,退出再进入vim,行号不会显示。包括map定义的快捷键,退出再进入vim,快捷键不会生效。

 

若需要让设置永久生效,则需要将设置写入配置文件。

vi的配置文件存放在文件的家目录中。(Linux中,若用户没有对应的家目录,则无法登陆。)

vi的配置文件:~/.vimrc 。缺省情况下,该配置文件为空。

 

 

 

 

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。

http://www.cnblogs.com/shijiaqi1066/p/3931580.html

vim基础使用