栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

vim的常用命令常规操作

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

vim的常用命令常规操作

参考《鸟哥的 Linux 私房菜》总结了下vim的常规操作。

一、基本操作

当我们用vim打开一个文件是处于一般模式状态下,这时输入文字文件内容并没有响应,但也可以对文件内容进行一些操作,例如可以通过键入Ctrl+v进行块选择,然后进行一些复制,粘贴,删除等操作。下面是更详细的操作方法。


移动光标的方法描述
[Ctr]+[f]屏幕向下移动一页,相当于[Page Down]按键 (常用)
[Ctr]+[b]屏幕向上移动一页,相当于[PageUp]按键(常用)
0或功能键[Home]这是数字“0”,移动到这一行的最前面字符处(常用)
$或功能键[End]移动到这一行的最后面字符处(常用)
G移动到这个文件的最后一行(常用)
nGn为数字。移动到这个文件的第n行。例如20G则会移动到这个文件的第20行(可配合:set nu,设置行号;:set nonu,取消行号)(常用)
gg移动到这个文件的第一行,相当于1G(常用)
N[Enter]n为数字。光标向下移动n行(常用)

查找与替换描述
/word向下寻找一个名称为Word的字符串。例如要在文件内查找vbird这个字符串,就输/vbird即可(常用)
:n1,n2s/word1/word2/gn1与n2为数字。在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2。举例来说,在100到200行之间查找vbird 并替换为VBIRD则用":100,200s/vbird/VBIRD/g"(常用)
:1,$s/word1/word2/g从第一行到最后一行查找 word1字符串,并将该字符串替换为word2(常用)
:1,$s/word1/word2/gc从第一行到最后一行查找word1字符串,并将该字符串替换为word2。且在替换前显示提示字符给用户确认(/confirm/i)是否需要替换(常用)

删除复制粘贴描述
x,X在一行字当中,x为向后删除一个字符(相当于[Del]按键),X为向前删除一个字符(相当于[Backspace])(常用)
dd删除光标所在的那一整行(常用)
nddn为数字。删除光标所在的向下n行,例如20dd则是删除20行(常用)
yy复制光标所在的那一行(常用)
nyyn为数字。复制光标所在的向下n行,例如20yy则是复制20行(常用)
p,Pp为将已复制的数据在光标下一行粘贴,P则为粘贴在光标上一行。举例来说,我目前光标在第20行,且已经复制了10行数据。则按下p后,那10行数据会粘贴在原本的20行之后,也即由21行开始粘贴。但如果是按下P呢?那么原本的第20行会被变成30行(常用)
u复原前一个操作(常用)
[Ctrl]+r重做上一个操作(常用)这个u与[Ctrl]+r是很常用的命令。一个是复原,另一个则是重做一次,利用它们,你的编辑会更加得心应手
.不要怀疑。这就是小数点。意思是重复前一个操作的意思。如果你想要重复删除、重复粘贴等操作,按下小数点“.”就好了(常用)

块选择描述
v字符选择,会将光标经过的地方反白选择(常用)
V行选择,会将光标经过的行反白选择(常用)
[Ctr]+v块选择,可以用长方形的方式选择数据(常用)
y将反白的地方复制起来(常用)
d将反白的地方删除(常用)

如果想对文件内容进行输入编辑,可以输入i,a,o,r进入编辑模式。

插入替换编辑模式描述
i,I进入插入模式(Insert mode):i为从目前光标所在处插入,I为在目前所在行的第一个非空格符处开始插入(常用)
a,A进入插入模式(Insert mode):a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入(常用)
o,O进入插入模式(Insert mode):这是英文字母o的大小写。o为在目前光标所在的下一行处插入新的一行;O为在目前光标所在处的上一行插入新的一行(常用)
r,R进入替换模式(Replace mode):r只会替换光标所在的那一个字符一次;R会一直替换光标所在的文字,直到按下[Esc]键为止(常用)
二、 多文件编辑
多文件编辑描述
:n编辑下一个文件
:N编辑上一个文件
:files列出目前这个vim的打开的所有文件

1.通过“vim hosts /etc/hosts”命令来使用一个vim打开两个文件
2.在vim中先使用“:files”查看一下编辑的文件数据有什么。
3.在vim的环境下输入“n”会来到第二个编辑的文件,即/etc/hosts内。

vim支持将一个或多个文件切割成多个窗口展现,在命令行模式输入“:sp{filename}”即可。那个filename可有可无,如果想要在新窗口启动另一个文件,就加入文件名,否则仅输入:sp时,出现的则是同一个文件在两个窗口间。

多窗口描述
:sp[filename]打开一个新窗口,如果有加filename,表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同步显示)
[ctrl]+w+j按键的按法是:先按下[ctrl]不放,再按下w后放开所有的按键,然后再按下j(或向下箭头键),则光标可移动到下方的窗口
[ctrl]+w+k同上,不过光标移动到上面的窗口
[ctrl]+w+q其实就是:q结束离开。举例来说,如果我想要结束下方的窗口,那么利用[Ctr]+w+q移动到下方窗口后,按下:q即可离开。

基本操作参考下面的图片,注意分清楚命令是在什么模式下使用的。

三、vim的环境设置
环境设置描述
:setnu,:set nonu就是设置与取消行号
:set hlsearch,:set nohlsearchhlsearch就是high light search(高亮度查找)。这个就是设置是否将查找的字符串反白的设置值。默认值是hlsearch
:set autoindent表示是否自动缩排,autoindent 就是自动缩排
set backup表示是否自动保存备份文件,一般是nobackup的,如果设置backup的话,那么当你改动任何一个文件时,则原文件会被另存成一个文件名为filename~的文件。举例来说,我们编辑hosts,设置:set backup,那么当改动hosts时,在同目录下,就会产生hosts~文件名的文件,记录原始的hosts文件内容
:set ruler还记得我们提到的右下角的一些状态栏说明吗?这个ruler就是在显示或不显示该设置值的
:set showmode这个则是是否要显示–INSERT–之类的字眼在左下角的状态栏
:set backspace=(012)一般来说,如果我们按下i进入编辑模式后,可以利用退格键(backspace)来删除任意字符的。但是,某些distrtbution则不许如此。此时,我们就可以通过backspace来设置。当backspace为2时,就是可以删除任意值;为0或1时,仅可删除刚才输入的字符,而无法删除原本就已经存在的文字了
:set all显示目前所有的环境参数设置值
:set显示与系统默认值不同的设置参数,一般来说就是你有自行变动过的设置参数
:syntax on,:syntax off
:set bg=dark,:set bg=light可用以显示不同的颜色色调,默认是light。如果你经常发现批注的字体深蓝色实在很不容易看,那么这里可以设置为dark,会有不同的样式

总之,这些设置值很有用处的。不需要每次使用vim都要重新设置一次各个参数值,我们可以通过配置文件来直接规定我们习惯的vim操作环境。整体vim的设置值一般是放置在/etc/vimrc这个文件中,不过,不建议你修改它。你可以修改~/.vimrc这个文件(默认不存在,请你自行手动创建),将你所希望的设置值写入。举例来说,可以是这样的一个文件,如下图所示。

[root@www~]#vim~/.vimrc
#"这个文件的双引号(")是批注
set hlsearch    "高亮度反白
set backspace=2 "可随时用退格键删除
set autoindent  "自动缩排
set ruler       "可显示最后一行的状态
set showmode    "左下角那一行的状态
set nu          "可以在每一行的最前面显示行号
set bg=dark     "显示不同的底色色调
syntax on       "进行语法检验,颜色显示

在这个文件中,使用“set hlsearch”或“:set hlsearch”,即最前面有没有冒号“:”效果都是一样的。至于双引号则是批注符号,不要用错批注符号,否则每次使用vim时都会发生警告信息。创建好这个文件后,当你下次重新以vim编辑某个文件时,该文件的默认环境设置就是这么设置的。这样是否很方便你的操作?所以多利用vim的环境设置功能吧!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613139.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号