vi编辑器

VIM中存在常用三种模式:命令模式、编辑模式、末行模式

命令模式:打开文件后默认进入的模式。该模式下不能对文件直接编辑,可以输入一些快捷键操作(删除、复制、移动光标、粘贴等)
编辑模式:该模式下可以地文件的内容进行编辑;
末行模式:该模式下可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等)

Vim打开文件的方式

vim 文件路径 作用:打开指定的文件
vim +数字 文件路径 作用:打开指定的文件,并且将光标移动到指定行
vim +/关键字 文件的路径 作用:打开指定的文件,并且高亮显示关键字。
vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件
vimdiff 文件路径1 文件路径2 作用:同时打开多个文件(同时显示)
在这里插入图片描述

命令模式

控制光标

h左 ; j下 ; k上 ;l
H :当前屏幕的上方 M :当前屏幕的中间 L :当前屏幕的下方
20G :快速定位到第20行代码; G :快速回到整个代码的最后
gg :快速回到整个代码的开始;w:向后移动一个单词的长度,即下一个单词的开始
b :向前移动一个单词的长度,即上一个单词的开始
CTRL+f :向下翻页 CTRL+b :向上翻页 CTRL+d :向下翻半页 CTRL+u :向上翻半页
Less 文件名 :查看文件较少内容

复制粘贴

yy :复制,光标所在的行
4yy :复制,从光标所在行开始向下四行
P :粘贴

删除(剪切)

dd :删除(剪切),光标所在行
2dd :删除,从光标所在行开始向下两行
d :光标——>行尾 (从当前的光标开始剪切,直到行尾)
d0 :行首<——光标 (从当前的光标开始剪切,直到行首)
x :向后删除一个 X :向前删除一个

撤销:

U :撤销刚才的操作 CTRL+r :反撤

文本移动:

<<:向右移动代码 ; >> :向左移动代码

替换操作:

r :替换当前字符
R :替换当前行光标及后面的字

插入模式:

i :插入光标前一个字符; I :插入行首
a :插入光标后一个字符; A :插入行末
o :向下新开一行; O :向上新开一行

末行模式

w :保存; q :退出; wq :保存退出
x :保存退出(建议使用这个)
set nu :显示行号
!+外部命令 :暂时调用外部命令
按两下Esc键退出末行模式

同时打开多个vim文件时:

files :显示所有打开的文件目录 在%a的位置有两种显示
%a ------ 表示当前正在打开的文件
#------表示上一个打开的文件

替换命令

把abc 替换成123(行末模式下)
%s/abc/123/g (全部替换)
1,10s/abc/123/g (替换1至10行)

Vim的配置(重点)

vim是一款编辑器,编辑器也是有文件的

vim配置有三种情况:
1、在文件打开的时候在末行模式下输入的配置(临时的)
2、个人配置文件(~/.vimrc,如果没有可以自己配置)
3、全局配置文件(vim自带, /etc/vimrc)
个人配置 > 全局配置
set nu 【设置行号】 set ic 【不区分大小写】set noic 【取消大小写 】
set al 【自动缩进】 set list 【显示控制字符】 set nonu 【取消设置行号】

意外退出

vi编辑一个文件意外退出时,再次进入会提示如下问题

E325: ATTENTION
Found a swap file by the name "/etc/.sudoers.tmp.swp"
          owned by: root   dated: Wed May 29 17:56:22 2019
         file name: /etc/sudoers.tmp
          modified: YES
         user name: root   host name: abel.1000.com
        process ID: 3440
While opening file "/etc/sudoers.tmp"
             dated: Wed Apr 11 04:27:14 2018

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r /etc/sudoers.tmp"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file "/etc/.sudoers.tmp.swp"
    to avoid this message.

-- More --

1.使用vim编辑时,vim会在被编辑的目录下新建一个.swp的隐形文件。如遇到意外情况中断vim编辑,可以利用这个隐形文件救援。

rm .*.swp -->使用此命令删除另一个隐含的并且后缀加了.swp的文件即可

断行符

DOS与linux的断行符不同 。DOS断行符为:M$(称为CR与LF两个符号),linux下仅有 $(LF)这个符号。

在 Linux 底下的指令在开始执行时,他的判断依据是 『Enter』,而 Linux 的 Enter 为 LF 符号,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值