vim是linux下效果相当强大的文书编辑器,因为是命令操作,所以读书来相比较累,上边统计一下常用的几点操作。

常用格局:
  • 平常情势(Normal mode)
  • 插入格局(Insert mode)
  • 命令行方式(Command line mode)

1. 三种格局

(1)命令情势:
刚起步vim便进入命令格局,此时打击键盘会被当作命令来处理

以下是常用的多少个指令:

i 切换来插入方式,以输入字符。
x 删除当前光标所在处的字符。
: 切换来底线命令形式,以在最底一行输入指令。

(2)输入方式
在命令形式下按下i就进入了输入情势。

在输入情势中,可以应用以下按键:

字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文书中活动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换格局,光标将改成竖线/下划线
ESC,退出输入格局,切换来命令格局

(3)底线方式
在指令格局下按下:(英文冒号)就进入了底线命令形式。

底线命令形式可以输入单个或八个字符的通令,可用的授命相当多。

在底线命令格局中,基本的下令有(已经省略了冒号):

q 退出程序
w 保存文件
按ESC键可每日退出底线命令情势。

 

 

1.1.1vim首要方式介绍,vim命令形式。

  1. vim火速入门,vim编辑器的运用。确保系统现已设置了VIM工具

[root@yl Desktop]# rpm -qf `which vi`
vim-minimal-7.4.160-1.el7.x86_64
[root@yl Desktop]# rpm -qf  `which vim`
vim-enhanced-7.4.160-1.el7.x86_64

vi和vim是同一个软件包安装的吧?
NO

安装vim[root@yl Desktop]# rpm -ivh /mnt/Packages/vim-enhanced-7.4.160-1.el7.x86_64.rpm

1.施用办法

常用格局切换
  • 起步后跻身平时情势,按i(插入)或a(附加)键进入插入形式
  • 安排方式 / 命令行形式按Esc / Ctrl+[ 可进入普通情势
  • 常见情势按 : 进入命令行形式,输入wq回车后保存并退出vim

2. 基本操作

编排形式下
shift+insert:粘贴

指令形式下
dd 删除一行
数字+箭头,向箭头方向移动数字列或许行
全选复制:ggyG
格式化代码:gg=G

复制剪切
主意1:(强烈推荐)
:9,15 copy 16 或 :9,15 co 16
透过可有:
:9,15 move 16 或 :9,15 m 16 将第9行到第15行的文本内容到第16行的末端

方法二:
例行情势 v, 编辑格局ctrl+v ,接纳行d剪切 y复制 p粘贴

yy命令复制当前整行的始末到vi缓冲区
yw复制当前光标所在地方到单词尾字符的内容到vi缓存区,相当于复制一个单词
y$复制光标所在地方到行尾内容到缓存区
y^复制光标所在位置到行首内容到缓存区
#yy例如:5yy就是复制5行
#yw例如:2yw就是复制七个单词
dd剪切当前行

批量诠释:
Ctrl + v
进入块采取方式,然后移动光标选中你要诠释的行,再按大写的I进入行首插入形式输入注释符号如
// 或 #,输入落成之后,Vim会自动将您选中的具有行首都加上注释
打消注释:
Ctrl + v 进入块选取方式,选中你要去除的行首的申明符号,注意//
要选中多少个,选好之后按d即可删除注释

批量注明:
动用上边发号施令在指定的行首添加注释:
:早先行号,截至行号s/^/注释符/g
收回注释:
:开始行号,甘休行号s/^注释符//g
例子:
在10 – 20行添加 // 注释
:10,50s#^#//#g
在10 – 20行删除 // 注释
:10,20s#^//##g

 

1.1.2vim 编辑器格局切换:

Paste_Image.png

在终极下直接输入:vim
test.txt,即可打开test.txt文件举行编制,若不设有test.txt文件,则代表将要新建此文件。

开辟文件
  • $vim test.txt 打开已存在的文件,若不设有则新建
  • 跻身命令行情势后输入 :e 文件路径打开相应文件

3.插件操作

命令格局 、命令行方式、编辑形式

首次跻身文件: 命令方式
并发 Insert:编辑格局
输入 : 表示 命令行形式

从编辑格局到命令行情势怎么着切换?
编辑形式->esc->命令格局->: ->命令行情势

字符操作(怎么着进入编辑形式?)
esc 退出编辑格局
跻身编辑方式 a io A I O

指令方式

i 当前字符以前插入 (光标前)
I 行首插入 (行首)

a 当前字符之后插入 (光标后)
A 行尾插入(行尾)

o 下一行插入 (另起一行)
O 上一行插入(上一行插入)

x 向后删除一个字符 等同于delete
X 向前删除一个字符

u 废除一步 每按五回就收回三次

 

游标移动
  • 在平时形式应用方向键大概h,j,k,l 键可以移动光标
    • h —— 左
    • l —— 右
    • j —— 下
    • k —— 上
    • w 移动到下一个单词
    • b 移动到上一个单词

MiniBufExplorer-的常用多少个指令

  • :e <filename> 打开文件
  • :ls    当前开拓的buf
  • :bn    下一个buf
  • :bp    前一个buf
  • :b<n>    n是数字,第n个buf
  • :b<tab>    自动补齐
  • :bd    删除buf

1.2.1行操作

行尾和行首

home键或^ 行首
$ end键 行尾

去除复制粘贴
yy 复制一行 数字+yy 复制N行

p 将复制行粘贴

dd 删除一行 数字+dd 删除多行

删除5行,使用5dd

扩展:剪切
先删除,再粘贴
去除到行首 d + HOME 或^ (shift+6)
剔除到行尾 d + END 或$ (shift+4)

2.新建或编辑文件

陈设形式
  • 在平凡行中使用上面的键进入插入方式
  • i:在时下光标出进行编辑
  • I:在行首插入
  • A:在行末插入
  • a:在光标后插入编辑
  • o:在脚下行后布署一个新行
  • O:在现阶段行前安排一个新行
  • cw:替换从光标所在地点后到一个单词结尾的字符

1.2.2词操作

留神词按空格为分隔符 每一个空格前都以一个词

dw 删除一个词,删除时要将光标移动到这一个词的词首。
假定光标不在词首,则删除光标之后的字母

yw复制一个词

vim new.txt->进入Normal格局 ->
按i键进入编辑方式->方向键移动光标->举行增删改->ESC退出编辑格局(就是进入Normal格局)->
输入:wq ->
按Enter键保存退出(输入:进入命令方式,再输入w表示保留再输入q表示退出,按Enter触发指令生效)

命令行方式下保存文档
  • 从普通格局输入 : 进入命令行格局,输入w回车,保存文档。输入:w
    文件名可以将文档另存为其余文件名或存到其余路线下

1.2.3 V模式

进去v情势 移动光标接纳区域、
编程的时候须求展开多行注释:
1、注释:ctrl+v 进入列编辑情势
2向下或发展移动光标
3把须求注释的行的启幕标记起来
4然后按大写的I
5再插入注释符,比如”#”。
6再按Esc,就会整整注明了。

去除:再按ctrl+v 进入列编辑格局;
向下或发展移动光标 ;
当选注释部分,然后按d,
就会删除注释符号。

 

命令行形式下退出vim
  • 从日常格局输入:进入命令行情势,输入wq回车,保存并退出编辑
  • :q! :强制退出,不保留
  • :q :退出
  • :wq!:强制保存并退出
  • :w <文件路径>:另存为
  • :saveas 文件路径:另存为
  • :x:保存并脱离
  • :wq:保存并脱离

1.2.4 VIM命令行方式操作

:w 保存 save
:q 没有举办别的修改,退出 quit
:q! 修改了,不保留,强制退出
:wq 保存并退出
:wq! 强制保存并脱离。
1.3vim可视化方式,设置vim开发环境。

3.来得行号、隐藏行号

平常方式下退出vim
  • Shift+zz

1.3-1替换

格式: %存有故事情节 s替换 旧的故事情节 新的故事情节 (/g全体)
暗中认同是每一行的率先个符合必要的词
:% s/1/5 每一行的率先个1被替换成5
:% s/1/5/g 将文件中具备的1替换成5

:2,3 s/5/1
/g 全部
#替换2到3行 的5
咱俩怎么精通是第二行如故第三行啊?
:set nu #来得行号
set nonu #不出示行号

/ 正向查找 :/san n 往下寻找,N 往上搜索

自个儿想要编辑写入本人的网卡地址,不过自身遗忘了,我要翻看一下,当前在vim编辑文档
如何是好呢? 要退出文档吗? 那样好麻烦.

:!ifconfig 调用系统命令
!+命令

定位:

先出示序号

vim中定位到某行:
gg 定位到行首
G 定位到末了一行,行首
#G 定位到某一行
:# 定位到某一行
#gg 定位到某一行
#意味着行号

读取其他文件
:r /etc/passwd
保留退出 :wq

vim test.txt->进入Normal格局 -> 输入:set nu ->按Enter键突显行号
-> 输入:set nonu ->按Enter键隐藏行号

一般情势下删除vim文本音信
  • x 删除游标所在的字符
  • X 删除游标所在前一个字符
  • Delete 同x
  • dd 删除整行
  • dw 删除一个单词(不适用汉语)
  • d$或D 删除至行尾
  • d^ 删除至行首
  • dG 删除到文档结尾处
  • d1G 删至文档首部
  • 2dd 一遍删除两行

1.3.2vim打开多少个公文:

[root@xuegod60 ~]# vim -o /etc/passwd /etc/hosts
[root@xuegod60 ~]# vim -O /etc/passwd /etc/hosts
ctrl+ww 在文书之间开展切换

大写O左右分屏,小写的o上下分屏

 

重新命令
  • 一般说来形式下输入 x , 删除第四个字符,输入.(小数点)会再一次删除一个字符
  • 实践指定次数相同命令 N<command>

10x:删除10个屡次三番字符
3dd:删除3行文本
5dw:删除5个单词

1.4.1 使用乱码消除工具 iconv

[root@yl Desktop]# rpm -qf `which iconv`
glibc-common-2.17-105.el7.x86_64

[root@yl Desktop]# rpm -ihv /mnt/Packages/glibc-common-2.17-105.el7.x86_64.rpm

通过iconv命令转码
输入/输出格式规范:
-f, –from-code=名称 原始文本编码
-t, –to-code=名称 输出编码
-o, –output=FILE 输出文件
-c,–忽略不可以转换的字符
-l, –list 列举所有已知的字符集

格式: iconv -f 编码 源文件 -o 转换后文件

[root@yl~]# iconv -f gb2312 -t utf-8 a.txt -o new.txt

4.删除

游标的连忙跳转
  • 行间跳转(进入命令行形式,输入:set nu突显行号)
  • nG 游标移动到第n行
  • gg 游标移动到第一行
  • G 游标移动到结尾一行
  • Ctrl + o 快捷回到上三次(跳转前)光标所在地方

vim test.txt ->进入诺玛l格局 ->
方向键移动光标->按x删除单个字符->按dd删除整行->
按2dd剔除两行(从光标地方起两行,包蕴光标所在行)

行内跳转
  • w 到下一个单词的上马
  • e 到下一个单词的结尾
  • b 到前一个单词的伊始
  • ge 到前一个单词的终极
  • 0或^ 到行头
  • $ 到行尾
  • f<字母> 向后查找<字母>并跳转到首个分外的岗位
  • F<字母> 先前搜素<字母>并跳转到首个门当户对的地点
  • ~ 将游标所在字母变成大写或小写

 

复制
  • 澳门金沙国际 ,yy 复制游标所在的整行(3yy表示复制3行)
  • y^或y0 复制至行首,不带有光标所在字符
  • y$ 复制至行尾,含光标所在字符
  • yw 复制一个单词,y2w复制五个单词
  • yG 复制至文本末
  • y1G 复制至文本初始

5.复制粘贴

粘贴
  • p(小写) 粘贴至光标后(下)
  • P(大写) 粘贴至光标前(上)
  • dd 剪切,dd后接纳p来粘贴,完毕交流上下行

vim test.txt ->进入Normal形式 ->
方向键移动光标->按yy复制整行->按p粘贴到光标的下一行(按5yy就是复制5行)

轮换及吊销
  • r + <待替换字母> 将游标所在字母替换为指定字母
  • R 两次三番替换,直到按下Esc
  • cc 替换整行,即除去游标所在行,并进入插入形式
  • cw 替换一个单词,即除去一个单词,并跻身插入形式
  • C(大写) 替换游标将来至行末
  • ~ 反转游标所在字母大小写
  • u{n} 打消四遍或n次操作
  • U 撤除当前行的有所修改
  • Ctrl + r redo,即撤销undo的操作

 

高速缩进
  • 熟视无睹形式下输入>>,整行将向右缩进
  • 普普通通方式下输入<<,整行向左回退
  • 输入:shiftwidth值举办安装可以操纵缩进和回退的字符数
    • :set shiftwidth? 获取方今设定值
    • :set shiftwidth=10 设置字符数

6.撤销、重做

调动文本地方
  • :ce 本行内容居中
  • :ri 本行文本靠右
  • :le 本行内容靠左

跻身Normal形式 -> 按u 撤除上两次操作

迅猛搜索
  • /icmp 查找字符串icmp
  • n 查找下一个icmp
  • ?tcp 向上查找字符串tcp
  • N 查找上一个并发的tcp

进去Normal格局 -> 按Ctrl+r 重做裁撤的动作

高等搜索
  • * 寻找游标所在处单词(向前/上找)
  • # 寻找游标所在处单词(向后/下找)
  • g* 部分符合该单词即可(向前/上找)
  • g# 部分符合该单词即可(向后/下找)

 

7.列编纂(批量抬高注释很有用哦)

批量丰盛注释

Normal格局->ctrl+v进入列编辑方式->方向键的左右箭头选中第一列字符->按I(大写的i)在首行输入#->按ESC退出到Normal情势即可见效->输入:wq->按Enter键保存即可

批量刨除注释

Normal格局->ctrl+v进入列编辑情势->方向键的内外箭头选中内容->d删除(同时进入Normal形式)->输入:wq->按Enter键保存即可

 

8:屏弃修改

Normal模式->输入:q!->按Enter提交命令(扬弃修改并退出)

 

9.运动光标

Normal格局下:能够用方向键,或然(h左、j下、k上、l右)

编辑情势下:只可以用方向键

 

相关文章