linux3-vim/vi命令

vi编辑器简介

vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。

vi 编辑器并不是一个排版程序,它不像Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。没有菜单,只有命令,且命令繁多。vi有3种基本工作模式:命令行模式、文本输入模式和末行模式。

vim是vi的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用

# 如果用不惯vim择可以设置别名
~]# alias vi='vim'
# 永久设置
~]# vi .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'

vim编辑器简介

vim 是一个全屏幕纯文本编辑器,是 vi 编辑器的增强版,我们主要讲解的是 vim 编辑器

基本使用

vim 的工作模式

 小tips   

vim 是一个应用程序

cd是另一个程序提供的命令

shell是一个程序,命令解释  )

命令模式:是主要使用快捷键的模式,命令模式想要进入输入模式,可以使用以下的方式:

命令作用
a在光标所在字符后插入
A在光标所在行尾插入
i在光标所在行前插入
I在光标所在行首插入
o在光标下插入新行
O在光标上插入新行

输入模式:主要用于文本编辑,和记事本类似,输入数据就好

这里列举 i 键vim

末行模式(这里是比如插入数据后,要按esc键盘后在操作末行的这些指令老师)

:w  保存不退出  
:w(大写) + 新文件名 把文件另存为新文件 
:q  不保存退出   
:wq 保存退出  
:!  强制   
:q!    强制不保存退出,用于修改文件之后,不保存数据退出。 
:wq!  强制保存退出,当文件的所有者或者 root 用户,对文件没有写权限的时候,强制写入数据使用。
​
# 快捷键保存推出
# shift zz

命令模式操作

移动光标

# 上下左右移动光标
上下左右移动光标 上、下、左、右方向键,或者 H(左)、j(下)、k(上)、l(右)    
​
# 把光标移动到文件头或尾   
gg  :移动到文件头 
G   :移动到文件尾(shift+g)  
​
# 移动到行首或行尾
0  :移动到行首 
$  :移动到行尾  
​
# 移动到指定行 
:n   移动到第几行  
#这里 n 是数字,准备移动到第几行,就用哪个数字。 ```

删除或剪切

## 删除字母 
x   :删除单个字母 
nx  :删除n个字母 (0x默认删除第一个字母)(这里删除字母默认都是删除某一行也就是单行的字母)
​
## 删除整行或剪切 
dd    :删除单行 (即你光标所在的那一行)
ndd   :删除多行 
:n1,n2d  删除指定范围的行 
# 删除整行或多行,这是比较常用的删除方法。这里的 dd 快捷键既是删除,也是剪切。删除内容 放入了剪切板,如果不粘贴就是删除,如果粘贴就是剪切。
​
## 粘贴
 p   粘贴到光标后 
 P(大)  粘贴到光标前
## 从光标所在行删除到文件尾
 dG 从光标所在行删除到文件尾  
#“d”是删除行,“G”是文件尾,连起来就是从光标所在行删除到文件尾。

复制

yy   :复制单行

nyy :复制多行  

#复制之后的粘贴,依然可以使用 p 键或 P(大)键

撤销

u   :撤销 
ctrl+r  :反撤销  
​
#“u”键能一直撤销到文件打开时的状态,类似 Windows 下“ctrl+z”键的作用。  
​
#“ctrl+r”能一直反撤销到最后一次操作状态,类似 Windows 下“ctrl+y”键的作用。 

替换

r  :替换光标所在处的字符 
R  :从光标所在处开始替换字符,按ESC结束  
# “r”键替换单一字符,不用进入输入模式,实际使用时,比进入输入模式删除后再修改,要方便。 

vim 配置文件

vim 支持更多的设置参数,可以通过“:set all”进行查看。设置参数都只是临时生效,一旦关闭文件再打开,又需要重新输入。如果想要永久生效,需要手工建立 vim 的配置文件“~/.vimrc”,把你需要的参数写入配置文件就永久生效了。

设置参数含义
:set nu :set nonu显示与取消行号
:syntax on :syntax off是否依据语法显示相关的颜色帮助。在Vim中修改相关的配置文件或Shell脚本文件时(如前面示例的脚本/etc/init.d/sshd),默认会显示相应的颜色,用来帮助排错,如果觉得颜色产生了干扰,则可以取消此设置
:set hlsearch :set nohlsearch设置是否将查找的字符串高亮显示。默认是set hlsearch高亮显示
:set ruler :set noruler设置是否显示右下角的状态栏。默认是set ruler
:set showmode :set noshowmode设置是否在左下角显示如“-INSERT-”之类的状态栏。默认是set showmode
:set list :set nolist设置是否显示隐藏字符(Tab建用“I”表示,回车符用“$”表示)默认是nolist。如果用set list,类似于“cat -A 文件名”

vim支持更多的设置参数,可以通过“:set all” 进行查看。

这些设置参数都只是临时生效,一旦关闭文件再打开,又需要重新输入。如果想要

永久生效,需要手工建立vim的配置文件“~/. vimrc”,把你需要的参数写入配置文件就永久生效了。

注 : Windows下回车符在Linux中是用“^M$"符号显示,而不是“$”符。这样会导致Windows下编辑的程序脚本,无法在Linux中执行。这时可以通过命令“dos2unix",把Windows格式转为Linux格式,当然反过来“unix2dos"命令就是把Linux格式转为Windows格式。这两个命令默认没有安装,需要手工安装才能使用。
 

vim 使用技巧

在 vim 中导入其他文件内容或命令结果

导入其他文件内容

:r 文件名   把文件内容导入光标位置  可以把其他文件的内容导入到光标所在位置 

在 vim 中执行系统命令

:!命令    在 vim 中执行系统命令  这里只是在 vim 中执行系统命令,但并不把系统命令的结果写入到文件中。
导入命令结果

:r  !命令   在 vim 中执行系统命令,并把命令结果导入光标所在行  在 vim 中执行系统命令,并把命令结果导入光标所在行
 

设定快捷键

:map 快捷键 快捷键执行的命令   
 
# 自定义快捷键  vim 允许自定义快捷键,常用的自定义快捷键如下: 
:map ^_ I#<ESC>  
# 按“ctrl+/”时,在行首加入注释 
:map  ^B x   
# 按“ctrl+b”时,删除光标字母(删除注释)  
注意:^B 快捷键不能手工输入,需要执行 ctrl+V+B 来定义,或 ctrl+V ,然后 ctrl+B。 

字符替换

:ab 源字符 替换为字符    
# 在 vim 编辑中,有时候需要频繁输入某一个长字符串(比如邮箱),这时使用字符串替换,能增 加输入效率,例如: :ab 123@163.com  当碰到“mymail”时,转变为邮箱

多文件打开

在 vim 中可以同时打开两个文件,只要执行如下命令:

~]# vim  -o  abc  bcd 
~]# vim  -O  abc  bcd 
#-o  小写 o 会上下分屏打开两个文件 
#-O  大写 O 会左右分屏打开两个文件  这样可以同时打开两个文件,方便操作。
# 如果是“-o”上下打开两个文件,可以通过先按“ctrl+w”, 再按“上下箭头”的方式在两个文件之间切换。 
# 如果是“-O”左右打开两个文件,可以通过先按“ctrl+w”,再按“左右箭头”的方式在两个文 件之间切换。

查找

/查找内容 
# 从光标所在行向下查找 
 
?查找内容  
# 从光标所在行向上搜索 
n    下一个 
N    上一个

替换

:1,10s/old/new/g  
# 替换 1 到 10 行的所有 old 为 new 
 
:%s/old/new/g   
# 替换整个文件的 old 为 new  替换字符串
 
:1,10s/^/#/g   
## 注释 1 到 10 行   #不同语言注释不一样。
 
:1,10s/^#//g   
# 取消注释 
 
:1,10s/^/\/\//g  
## 1 到 10 行,行首加入//  
#因为/在vim命令中有特殊含义,所以要用反斜杠\进行转义
 
:1,10s/^\/\///g  
# 取消 1 到 10 行行首的//

  (扩展) 可视 v(没有鼠标,选取困难)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值