vim编辑命令怎么使用
vim是一个全屏编辑器,模式化编辑器。模式主要有编辑模式,输入模式,末行模式。默认打开vim命令进入的是编辑模式。下面跟着读文网小编一起来了解一下vim的使用方法吧。
vim编辑命令怎么使用
打开文件打开文件:vim /path/to/somefile
其他用法:
vim +#:打开文件,并定位到#行
vim +:打开文件,并定位到最后一行
vim +/pattern:打开文件,并定位到第一次被pattern匹配到的行的行首
关闭文件1、末行模式关闭文件
:q 不保存退出
:wq 保存并退出
:q! 不保存强制退出
:w 保存
:w!强制保存
:wq --> :x
2、编辑模式退出
ZZ 保存并退出
模式转化1、编辑-->输入
i:在当前光标所在字符的前面转为输入模式;
I:在当前光标所在字符的行首转为输入模式;
a:在当前光标所在字符的后面转为输入模式;
A:在当前光标所在字符的行尾转为输入模式;
o:在当前光标所在行的下面新建一行,转为输入模式;
O:在当前光标所在行的上面新建一行,转为输入模式;
2、输入-->编辑
esc键
3、编辑-->末行
:
4、末行-->编辑
esc键
移动光标(编辑模式)1、逐字移动光标
h:左
l:右
j:下
k:上
#h:移动#个字符
2、逐个单词移动
w:移到下一个单词的词首
e:移到当前或者下个单词的词尾
b:移到当前或者前一个单词的词首
#w:支持
3、行内跳转
0:跳到行首,绝对行首
^:跳到行首,行首的第一个非空白字符
$:跳到行尾,绝对行尾
4、行间跳转
#G:跳转至第#行
G:最后一行
末行模式下,直接给出行号回车即可
翻屏ctrl+f:向下翻一屏
ctrl+b:向上翻一屏
ctrl+d:向下翻半屏
ctrl+u:向上翻半屏
删除单个字符x:删除光标所在处的单个字符
#x:删除光标所在处及向后的共#个字符
删除命令 dd命令和跳转命令组合使用
d$:删除当前光标所在行光标位置到行尾的所有字符。
d0:删除当前光标所在行光标位置到行首的所有字符。
dw
de
db
dd:删除当前光标所在行
#d跳转符:
末行模式
. 表示当前行
$ 表示最后一行
+# 向下的#行
例如:
1,2d
.,$d
.,$-3d
粘贴命令 pp:如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面。
P:如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面。
复制命令 y用法同d命令
修改命令 c用法同d命令
替换 rr@:替换光标所在位置的字符为@字符
撤销 uu,连续u命令可以撤销此前的n次操作,一般最多只保存有50次。
撤销最近一次的撤销操作:ctrl+r
可视化模式v:按字符选取
V:按矩形选取
选取后可以使用各种编辑命令,如d命令删除。
查找/pattern:从当前光标所在位置开始向下查找。
?pattern:从当前光标所在位置开始向上查找。
n:后一条结果
N:前一条结果
查找替换在末行模式下使用s命令,用法和sed一样
例如:
:.,$-1s/he/HE/g 替换当前行到倒数第二行中所有he为HE 。
上面是常用的vim编辑器的使用方法,主要介绍了编辑模式下的命令。输入模式下和nano功能差不多
1、关于文本编辑器;
文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和nano ... ... vi和vim是我们在Linux中最常用的编辑器。我们有必要介绍一下vi(vim)最简单的用法,以让Linux入门级用户在最短的时间内学会使用它。
nano 工具和DOS操作系统下的edit操作相似,使用简单,我们不作介绍了,如果您有兴趣,不妨尝试一下;
2、vi 编辑器;
为什么要学会简单应用vi
vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,永远不是图形界面的编辑器能比的。当您没有安装X-windows桌面环境或桌面环境崩溃时,我们仍需要字符模式下的编辑器vi;
vi或vim 编辑器在创建和编辑简单文档最高效的工具;
3、vi 编辑器的使用方法;
3.1 如何调用vi ;
[root@localhost ~]# vi filename
~
~
~
~
~
~
~
~
3.2 vi 的三种命令模式;
Command(命令)模式,用于输入命令;
Insert(插入)模式,用于插入文本;
Visual(可视)模式,用于视化的的高亮并选定正文;
3.3 文件的保存和退出;
Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。
当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;
:w 保存;
:w filename 另存为filename;
:wq! 保存退出;
:wq! filename 注:以filename为文件名保存后退出;
:q! 不保存退出;
:x 应该是保存并退出 ,功能和:wq!相同
3.4 光标移动;
当我们按ESC进入Command模式后,我们可以用下面的一些键位来移动光标;
j 向下移动一行;
k 向上移动一行;
h 向左移动一个字符;
l 向右移动一个字符;
ctrl+b 向上移动一屏;
ctrl+f 向下移动一屏;
向上箭头 向上移动;
向下箭头 向下移动;
向左箭头 向左移动;
向右箭头 向右移动;
我们编辑一个文件时,对于 j、k、l和h键,还能在这些动作命令的前面加上数字,比如 3j,表示向下移动3行。
3.5 插入模式(文本的插入);
i 在光标之前插入;
a 在光标之后插入;
I 在光标所在行的行首插入;
A 在光标所在行的行末插入;
o 在光标所在的行的上面插入一行;
O 在光标所在的行的下面插入一行;
s 删除光标后的一个字符,然后进入插入模式;
S 删除光标所在的行,然后进入插入模式;
3.6 文本内容的删除操作;
x 一个字符;
dw 删除一个单词;
dd 删除一行;
d$ 删除光标到行尾的内容;
J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;
3.7 恢复修改及恢复删除操作;
u 撤消修改或删除操作;
按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改;如果您想撤消多个以前的修改或删除操作,请按多按几次u。这和Word的撤消操作没有太大的区别;
3.8 可视模式;
在最新的Linux发行版本中,vi提供了可视模式,因为这个功能是vim才有的。如果您用的vi没有这个功能,就换成vim就有了。打开可视模式,按ESC键,然后按v就进入可视模式;
可视模式为我们提供了极为友好的选取文本范围,以高亮显示;在屏幕的最下方显示有;
-- 可视 --
或
--VISUAL--
如图:
进入可视模式,我们就可以用前面所说的命令行模式中的光标移动指令,可以进行文本范围的选取。
选取文本范围有何用?
我们可以对某部份删除作业,按d键就删除了我们选中的内容。
选中内容后,我们按y就表示复制;按d表示删除;
值得一提是的删除的同时,也表示复制。我们返回到命令模式,然后移动光标到某个位置,然后按shift+p键,就把刚才删除的内容贴上了。我们先在这里提一句,在后文,我们还得详细说说。
退出可视模式,还是用ESC键;
3.9 复制和粘帖的操作;
其实删除也带有剪切的意思,当我们删除文字时,可以把光标移动到某处,然后按shift+p键就把内容贴在原处,然后再移动光标到某处,然后再按p或shift+p又能贴上;
p 在光标之后粘帖;
shift+p 在光标之前粘帖
来举一例:
比如我们想把一个文档的第三行复制下来,然后帖到第五行的后面,我们应该怎么做呢?
有两种方法;
第一种方法:
先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下shift+p键。这样就把刚才删除的第三行帖在原处了。
接着我们再用k键移动光标到第五行,然后再按一下p键,这样就把第三行的内容又帖到第五行的后面了;
第二种方法;
进入可视模式,按ESC键,然后按v键。移动鼠标指针,选中第三行的内容,然后按y键复制;再移动指针到第五行,最后按p键;
所以复制和粘贴操作,是命令模式、插入模式及可视模式的综合运用;我们要学会各种模式之间的切换,要常用ESC键;更为重要的学会在命令模式下移动光标;
3.10 关于行号;
有时我们配置一个程序运行时,会出现配置文件X行出现错误 。这时我们要用到行号相关的操作;
为所有内容添加行号;
按ESC键,然后输入:
:set number
光标所处位置
在屏幕的右下角,有类似如下的;
57,8 27%
在这之中,57表示第57行,8表示第8个字符;
3.11 查找和替换功能;
3.11.1 查找;
首先,我们要进入ESC键,进入命令模式;我们输入/或?就进入查找模式了;
/SEARCH 注:正向查找,按n键把光标移动到下一个符合条件的地方;
?SEARCH 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的
举一例:比如我想在一个文件中找到swap单词,我应该如下做;
首先按ESC键,进入命令模式,然后输入;
/swap
或
?swap
3.11.2 替换;
按ESC键进入命令模式;
:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
:%s /SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE;
:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;
注:在这之中,g表示全局查找;我们注意到,就是没有替换的地方,也会把SEARCH高亮显示;
举例说明:
比如我们有一篇文档要修改;
我们把光标所在的行,把所有单词the,替换成THE,应该是:
:s /the/THE/g
我们把整篇文档的所有的the都替换成THE,应该是:
:%s /the/THE
我们仅仅是把第1行到第10行中的the,替换成THE,应该是;
:1,10 s /the/THE/g
看过“vim编辑命令怎么使用”