Linux编辑器--vi(vim)基本操作及相关问题

一,vi与vim

他们都是多模式编辑器,vim 是 vi 的升级版,与 vi 相比扩展了很多功能且保持与 vi 的 90%相兼容,而且还有一些新的特性在里面。

vim 的优势主要体现在以下几个方面:

1,多级撤销

      在vi里,按u只能撤销上次命令,而在vim里可以无限制的撤销。

2,易用性

     vi只能运行与Unix,而vim可以运行在Unix,Windows,Mac等多种平台。

3,语法加亮

4,可视化操作

         vim不仅可以运行在终端,也可以运行于x window,mac os, windows。

5,对vi完全兼容

扫描二维码关注公众号,回复: 579102 查看本文章

二,vi基本操作

1,vi 有 3 种模式,分别为命令行模式、插入模式及底行模式。下面具体介绍各模式的功能。
(1)命令行模式。
用户在用 vi 编辑文件时,最初进入的为一般模式。在该模式中用户可以通过上下移动光标进行“删除字符”或“整行删除”等操作,也可以进行“复制”、“粘贴”等操作,但无法编辑文字。(此处上下移动光标出现问题可看后面解决方案)
(2)插入模式。
只有在该模式下,用户才能进行文字编辑输入,用户按[ESC]可键回到命令行模式。
(3)底行模式。
在该模式下,光标位于屏幕的底行。用户可以进行文件保存或退出操作,也可以设置编辑环境,如寻找字符串、列出行号等。
2.vi 的基本流程
(1)进入 vi,即在命令行下键入“vi 文件名”。此时进入的是命令行模式,光标位于屏幕的上方。
(2)在命令行模式下键入 i 进入插入模式。可以看出,在屏幕底部显示有“插入”表示插入模式中的输入状态,在该模式下可以输入文字信息。
(3)最后,在插入模式中,按“Esc”键,则当前模式转入命令行模式,并在底行行中输入“:wq”(存盘退出)进入底行模式。
这样,就完成了一个简单的 vi 操作流程:命令行模式→插入模式→底行模式。由于 vi 在不同的模式下有不同的操作功能,因此,读者一定要时刻注意屏幕最下方的提示,分清所在的模式。
3.vi 的各模式功能键
(1)命令行模式常见功能键如下所示。
i           切换到插入模式,在目前的光标所在处插入输入的文字,已存在的文字会向后退
a          切换到插入模式,并从目前光标所在位置的下一个位置开始输入文字
o           切换到插入模式,且从行首开始插入新的一行
[ctrl]+[b]         屏幕往“后”翻动一页
[ctrl]+[f]          屏幕往“前”翻动一页
[ctrl]+[u]        屏幕往“后”翻动半页
[ctrl]+[d]        屏幕往“前”翻动半页
0(数字 0)        光标移到本行的开头
G                光标移动到文件的最后
nG                 光标移动到第 n 行
$                    移动到光标所在行的“行尾”
n<Enter>                光标向下移动 n 行
/name                    在光标之后查找一个名为 name 的字符串
?name                 在光标之前查找一个名为 name 的字符串
x                           删除光标所在位置的一个字符
X                           删除光标所在位置的前一个字符
dd                      删除光标所在行

ndd                 从光标所在行开始向下删除 n 行
yy                      复制光标所在行
nyy                复制光标所在行开始的向下 n 行
p                     将缓冲区内的字符粘贴到光标所在位置(与 yy 搭配)

u                   恢复前一个动作

dw               删除光标之后的单词剩余部分

d$               删除光标之后的该行剩余部分

c               功能和d相同,区别在于完成删除操作后进入插入模式

cc            也是删除当前行,然后进入插入模式

删除每行第一个字符    :%s/^.//g

(2)插入模式的功能键只有一个,即按“Esc”键可回到命令行模式。
(3)底行模式常见功能键如下所示。
:w                 将编辑的文件保存到磁盘中
:q                      退出 vi(系统对做过修改的文件会给出提示)
:q!                      强制退出 vi(对修改过的文件不作保存)
:wq                 存盘后退出
:w [filename]         另存一个名为 filename 的文件
:set nu                   显示行号,设定之后,会在每一行的前面显示对应行号
:set nonu            取消行号显示

三,vi命令行模式,按键盘上下左右键不会移动光标而是出现ABCD问题并换行,删除也没用    

       出现这种问题是因为Ubuntu只是安装了简易的vi,简易的vi相当于vim-common ,而需要的是vim full版本。

先执行语句:$sudo apt-get install vim,多试两次,如果该语句出错就执行下面的语句。

$sudo apt-get remove vim-common

$sudo apt-get install vim

另一种解决方案:root权限执行以下命令:

cp /etc/vim/vimrc ~/.vimrc

猜你喜欢

转载自blog.csdn.net/shen_zhu/article/details/80274739