VI编辑器常用快捷键

标签: linux 脚本 vi unix vi编辑器
11391人阅读 评论(1) 收藏 举报
分类:

    VI编辑器是所有UNIX及Linux系统命令行下标准的文本编辑器,它的强大功能不逊色于任何最新的文本编辑器。在UNIX及Linux系统的版本中,VI编辑器的使用方法是完全一样的。

    以下是VI编辑器常用的快捷键

说明:其中红色字体为常用快捷键。

一、进入输入模式

1、i:在当前光标所在处前插入文本;

2、I:将光标移动到当前行的行首,并在行首前插入文本;

3、a:在当前光标所在处之后插入文本;

4、A:将光标移动到当前行的行末,并在行末之后插入文本;

5、o:在光标所在行的下面新插入一行,并将光标移动到新行的行首插入文本;

6、O:在光标所在行的上面新插入一行,并将光标移动到新行的行首插入文本;


二、光标移动

1、h或者左方向键:将光标向左移动一格;

2、j或者下方向键:将光标向下移动一格;

3、k或者上方向键:将光标向上移动一格;

4、l或者右方向键:将光标向右移动一格;

5、$:移动光标到当前行的行末;

   数字0:移动光标到当前行的行首;

6、w:移动光标到下个字的开头;

7、e:移动光标到下个字的字尾;

8、b:移动光标回上个字的开头;

9、nl:在当前行中往右移动n个字符,如:2l、34l;

10、crtl+b:屏幕往上翻一页;

11、crtl+f:屏幕往下翻一页;

12、crtl+u:屏幕往上翻半页;

13、crtl+d:屏幕往下翻半页;

14、lG:移动光标到文件的第一行;

15、G:移动光标到文件的最后一行。

16、gg:移动光标到第一行


三、文本编辑

1、r:替换光标所在处的字符;

2、R:替换光标所到之处的字符,直到按ESC键为止;

3、J:把光标所在行的下一行内容接到当前行的行末;

4、x:删除光标所在位置的字符;

5、nx:删除光标所在位置开始的n个字符,如3x删除3个字符;

6、X:删除光标所在位置的前一个字符;

7、nX:删除光标所在位置的前n个字符;

8、dw:删除光标所处位置的单词;

9、ndw:删除由光标所处位置之前的n个单词;

10、db:删除光标所处位置之前的一个单词;

11、ndb:删除光标所处位置之前的n个单词;

12、dd:删除光标所在的行;

13、ndd:删除光标所在行开始的n行;

14、d0:删除由光标所在行的第一个字符到光标所在位置的前一个字符之间的内容;

15、d$:删除由光标所在位置到光标所在行的最后一个字符之间的内容;

16、dlG:删除由文件第一行到光标所在行之间的内容;

17、dG:删除由光标所在行到文件最后一行之间的内容;

18、u:撤销更改的内容;

19、ctrl+u:撤销在输入模式下输入的内容。


四、复制粘贴

1、yw:复制光标所在位置到单词末尾之间的字符;

2、nyw:复制光标所在位置之后的n个单词;

3、yy:复制光标所在行;

4、nyy:复制由光标所在行开始的n行;

5、p:将复制的内容粘贴到光标所在位置。


五、查找与替换

1、/str:从光标位置开始往文件末尾查找str,按n查找下一个,按N返回上一个;

2、?str:从光标位置开始往文件开头查找str,按n查找下一个,按N返回上一个;

3、:s/p1/p2/g:将光标所处行中所有p1均用p2替代;

4、:n1,n2s/p1/p2/g:将第n1到n2行中所有p1均用p2替代;

5、:g/p1/s//p2/g:将文件中所有p1均用p2替换


六、末行模式命令

1、w:保存当前文件;

2、w!:强制保存;

3、w file:将当前编辑的内容写到文件file中;

4、q:退出vi;

5、q!:不保存文件退出vi;

6、e file:打开并编辑文件file,如果文件不存在则创建一个新文件;

7、r file:把文件file的内容添加到当前编辑的文件中;

8、n:移动光标到第n行;

9、!command:执行Shell命令command

10、r!command:将命令command的输出结果添加到当前行。

11、ZZ:保存修改并退出vi


七、其它

1、:set nu指设置行号;

2、:set nonu指取消行号;

3、:n指移动光标到第n行;

4、:n1,n2d指删除指定范围的行;


八、常见应用

1、定义VI快捷键

格式为:map 快捷键 触发命令

例子:

(1)map ^P I#<ESC>  指在这一行的行尾加入注释符号#

(2)map ^B ox  指在这一行的行尾删除注释符#

说明:

在VI中如何输入^P这个字符呢?

方法有两种:

一种是ctrl+v  ctrl+p

另一种是ctrl+v+p

2、取消VI快捷键

格式为unmap

3、连续行注释

(1):n1,n2s/^/#/g   指第n1到n2行都注释掉

(2):n1,n2s/^/#//g   指第n1到第n2行的注释符都删除

(3):n1,n2s/^/\/\//g  指把第n1到第n2行加入//符号

 说明:

^:表示匹配行首;

\:表示转义符

4、替换

格式:ab  XXX   YYY

例子:

ab sammail samlee@126.com

指在vi中输入sammail按空格键或者回车键就会把sammail自动变为samlee@126.com。我们在写shell脚本时经常要加上作者的信息,这个方法就很方便我们填写自己的信息了。

如何取消上面对ab的定义呢?

直接unab即可

5、VI的配置文件

(1)VI配置文件的位置:~/.vimrc(默认为空)

(2)在编辑VI时我们常常需要打开行号的功能,如果要打开VI文件就显示行号,可以在~/.vimrc中加入set nu这句话就可以了。


查看评论

vi常用快捷键

vi常用快捷键光标控制命令命令    光标移动h或^h    向左移一个字符j或^j或^n   向下移一行k或^p    向上移一行l或空格    向右移一个字符G    移到文件的最后一行nG   ...
  • cyberhero
  • cyberhero
  • 2009年12月28日 10:34
  • 10112

vi编辑器常用的命令及快捷键

在vi中添加文本 命令                  插入动作 a                       在光标后插入文本 A                       在当前行...
  • chaishen10000
  • chaishen10000
  • 2015年06月23日 21:18
  • 1920

Linux基础 vim编辑器快捷键

43.vi|vimvi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实...
  • qq_36172940
  • qq_36172940
  • 2018年03月25日 14:30
  • 24

Vi编辑器常用快捷键

vi常用快捷键 光标控制命令 命令    光标移动 h或^h    向左移一个字符 j或^j或^n   向下移一行 k或^p    向上移一行 l或空格    向右移一个字符 G  ...
  • davidlinux
  • davidlinux
  • 2015年06月07日 16:05
  • 186

vi vim编辑器常用快捷键,快捷键查询

vi编辑器的键盘操作着实多啊,这让想用他的人望尘莫及,我这里进行了一下实测,记录一些平常能满足我需求的vi编辑相关的快捷键,待这些基本的入门以后,再进阶!这里做备份,也分享给大家。 Lee出品,转载请...
  • hnulwt
  • hnulwt
  • 2015年01月24日 18:21
  • 4491

文本编辑器vi一般模式下常用快捷键

在vi一般模式下常用快捷键如下: 移动光标:     箭头上下左右即光标上下左右移动  上下前加上倍数即向上向下移动多少行      数字0或home          移动到这一行的最...
  • wszll_Alex
  • wszll_Alex
  • 2015年05月24日 17:27
  • 682

Linux vim编辑器常用操作技巧整理

VIM编辑器常用模式有: 普通模式:实现基本的光标移动与大量的快捷键操作 插入模式:实现文本的基本编辑功能 命令模式:输入特定的指令实现特定的功能 Vim编辑器默认会进入到普通模式,进入到插入模式...
  • VmBoys
  • VmBoys
  • 2016年05月06日 16:27
  • 1494

vim 编辑器的常用快捷键

与行相关的命令:显示行号:在命令行模式下输入:set nu 永久显示行号:vi ~/.vimrc –》set nu定位到指定行:命令行模式下: n(代表行号) 一般模式下 n+shift+g (...
  • liudongdong0909
  • liudongdong0909
  • 2016年04月03日 05:58
  • 960

vi编辑器使用方法(最详细)

vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来...
  • u013485792
  • u013485792
  • 2016年01月29日 14:47
  • 1070

linux的vi编辑器快捷键

如前所述,所谓的命令列或命令模式,就是在最下面一行没有显示『--INSERT--』或者『--REPLACE--』字样的时候。通常在命令列中的指令有下面几种:(注意,当按下『:』 时,光标会自动移动到屏...
  • jinlianyimeng
  • jinlianyimeng
  • 2012年07月15日 00:05
  • 477
    个人资料
    等级:
    访问量: 30万+
    积分: 2699
    排名: 1万+
    最新评论