linux基础之vim的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础之vim的使用相关的知识,希望对你有一定的参考价值。

1.    vi的介绍

基本上vi共分为三种模式:

命令模式(command mode

         vi打开一个文件就直接进入命令模式。在这个模式中,可以使用[上下左右]按键来移动光标,删除字符来处理文件内容,也可以复制粘贴文件数据。

插入模式(insert mode

         在命令模式下输入:[i Ia A o O]等任何一个字母就会进入插入模式。这时候就可以进行文件编辑工作了。

         i:在当前光标所在处前输入。

         I:在当前光标所在处行首输入。

         a:在光标所在处后输入

         A:在光标所在处行尾输入

         o:在光标所在处的下一行增加一个空白行

         O:在光标所在处的上一行增加一个空白行

命令行模式(command-line mode

         在命令模式当中,输入[:/ ?]任何一种,就可以进行命令行模式。

那么如何退出vi呢?

         如果是在插入模式,那么要敲入【ESC】键,输入

         :q!强制退出,即不保存退出

         :wq保存退出

         :wfilename 保存文件

         :x保存并退出

         如果是在命令行模式下,直接输入ZZ,即为保存退出.

2.    vi使用

1.      按键说明

命令模式下的按键说明:

  

                               移动光标

  

h或 向左箭头键               光标向左移动一个字符

或 向下箭头键               光标向下移动一个字符

K或 向上箭头键               光标向上移动一个字符

或 向右箭头键               光标向右移动一个字符

     如果想要进行多次移动,例如向下移动30列,可以使用30j的组合按键

【Crtl】+【f】                 屏幕向下移动一页,相当于【page Down】按键

【Crtl】+【b】                屏幕向上移动一页,相当于【page up】按键

【Ctrl】+【d】                屏幕向下移动半页

     【Ctrl】+【u】                屏幕向上移动半页

n【space】                   光标向右移动n个字符

0                            移到光标所在行的行首

$                            移到光标所在行的行尾

G                            移动这个文件的最后一行

nG                           移动到这个文件的第n

gg                           移动到这个文件的第一行

     N【enter】                   光标向下移动n

w                           跳至下一个单词的词首

b                            跳至前一个单词的词首

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

  

                        搜索与取代

  

/key                         向光标之下寻找key这个关键字

?key                         向光标之上寻找key这个光键字

使用 /key 配合nN是非常有帮助的。

  

n                            向下搜寻下一个关键字

  

N                            向上搜寻下一个关键字

n1,n2s/word1/word2/g       取代

1$s/word1/word2/g        从第一行到最后一行寻找word1,并用word2取代

  

s/ / /gci

  

g:锁定所有查找的内容

  

c:人机交互

  

i:忽略大小写

  

其中,为了避免转义的问题,/可以用@#等符号来代替。

  

                      删除,复制与粘贴

  

X,x                           在一行中,x为向后删除一个字符,X为向前删除一个字符

#x                            #为数字,连续向后删除#个字符  

dd                            删除光标所在的一行  

#dd                           删除光标所在向下#

  

d0  d^   d$  dG

yy                            复制光标所在的行

#yy                           复制光标所在的向下#

P                             粘贴

u                             撤销

【Crtl】+【r】                 撤销此前的撤销

2.      vim可视化模式

在命令模式下输入v,可进行手动全选模式。

V:选定光标所在的当前行

选定之后,之前的编辑命令都可以使用

3.      打开多个文件

:next    下一个

: prev   上一个

:first    第一个

:last    最后一个

为了方便比较,可以使用–o或-O选项

vim –o :横屏比较

                              

vim –O:竖屏比较

怎样在两个文件中移动光标呢?

横屏比较  使用【Crtl】+w   上下箭头

竖屏比较  使用【Crtl】+w   左右箭头

在同一个文件中,可以使用分屏来比较不同之处

使用【Crtl】+w,s 水平分割

使用【Crtl】+w,v 垂直分割

4.      vim的环境设定参数

  

:set nu                             设置行号

  

:set nonu                           取消行号

:set ai                              自动缩进

:set ic                              忽略大小写

:set sm                             显示与之匹配的符号

:syntax on                          语法高亮

:set hlsearch                        搜索高亮

:set autoindent                      自动缩进


本文出自 “凡尘客栈” 博客,请务必保留此出处http://fckz001.blog.51cto.com/11636733/1906261

以上是关于linux基础之vim的使用的主要内容,如果未能解决你的问题,请参考以下文章

linux基础之vim的使用

Linux基础之vim编辑器

linux基础之Vim

Linux实战常见基础操作之vim编辑文件内容

linux vi 编码之中文乱码问题

Python学习之路——Linux基础之Vim编辑器