VIM编辑器1

VIM编辑器vi improved

vi:visual interface

vim +/PATTERN f1 打开文件后光标处于第一个被匹配到PATTERN的行的行首,n键跳到下一个,即支持正则匹配

vim +n f1  直接打开f1文件并且将光标定位在第n行

vim -b f1  以二进制方式打开文件

vim -d f1 f2...  比较多个文件

vim -m f1  以只读方式打开文件

ex f1 或vim -e f1  直接进入ex模式

vi +/^user passwd

//vi或vim支持正则表达式匹配,即打开passwd文件并将光标定位在匹配到以user开头的行

vim的模式:

命令模式(normal):默认打开模式,移动光标,剪切粘贴删除等

插入模式或编辑模式(insert):修改文本

扩展命令模式(extended command):保存,退出,帮助,:号后加命令

可视模式(visual):块选择操作

ESC键,退出当前模式。按两次ESC键,返回到命令模式

i:insert,光标前插入

I:在光标所在行首插入

a:append,光标后插入

A:在光标所在行尾插入

o:在光标所在行的下方插入新行

O:在光标所在行的上方插入新行

锁定和解锁:ctrl+s,ctrl+q

扩展模式:

:q  退出

:q!  强制退出不保存修改

:wq  保存退出

:x  保存退出

:r f2  读取f2的文件内容到当前光标的下一行

:w f3  将当前编辑内容写入到另一个文件中

!cmd  执行命令并显示,回车退出

r!cmd  读取命令的输出到当前光标的下一行

:方向键  可以上下选择vi的历史命令,操作同bash,支持的快捷键操作^w,^u,^e

命令模式:

ZZ:保存退出

ZQ:不保存退出

hjkl:左下上右移动

#cmd:3h向左移动3个字符

w:下一个单词词首

e:当前或下一个单词词尾

b:当前或前一个单词词首

#cmd:3w向下跳转3个单词

H:跳转到当前页页首  M:页中  L:页底

^:跳转到行首的第一个非空白字符

0:跳转至行首,注意是数字零

$:跳转至行尾

#G或者:#  :跳转至指定行,3G第三行,:10第10行

shift+3:即#号,匹配光标处的单词,并高亮显示文件中的所有相同的单词,n键跳转

G:最后一行

1G,gg:第一行

):下一句 (:上一句。句子以.隔开

}:下一段 {:上一段。段落以空行隔开

ctrl+f:向文件尾部翻一屏

ctrl+b:向文件首部翻一屏

ctrl+d:向文件尾部翻半屏

ctrl+u:向文件首部翻半屏

x:删除光标处的字符

#x:删除光标处之后的#个字符

xp:交换光标所在处的字符及其后面字符的位置

~:转换大小写

r:替换光标所在处的1个字符,3r三个字符

R:完全替换模式,ESC退出

d:删除范围,可配合方向键hjkl删除当前行和同方向行

d$:删除到行尾

d^:删除到非空行首

d0:删除到行首

dw,de,db

dd:删除行,3dd向下删除3行

D:从光标当前位置一直删除到行尾,保留空行,等同于d$

y:复制,y$,y0,y^,ye,yw,yb

yy:复制行,Y复制整行

p:小写,若为行粘贴则是粘贴在当前光标所在行的下方;若为文本则粘贴在光标的后面

P:大写,若为行粘贴则是粘贴在当前光标所在行的上方;若为文本则粘贴在光标的前面

c:修改后切换到插入模式

c$,c^,c0,cb,ce,cw

cc:删除当前行并输入新内容

C:删除当前光标到行尾,并切换到插入模式

100iroot[ESC]粘贴root 100次

0y$:组合命令:0-移到行首,y-从这里开始复制,$-复制到本行的最后一个字符

ye:从当前位置复制到本单词的最后一个字符

gU:变大写

gu:变小写

扩展命令模式:以:为命令开始,显示在左下角,以下:均省略,不再说明

#,#:3,9:从第3行到第9行

#,+#:3,+4:从第3行到第7行

.:当前行

$:最后一行  .,$-1:当前行到倒数第二行

%:全文,相当于1,$

vim支持正则表达式,在扩展命令模式下

/pat1/,/pat2/ :从第一次被pat1模式匹配到行开始,一直到第一次被pat2匹配到的行结束

#,/pat/ , /pat/,$

使用方式:后面跟一个编辑命令

d,y,w,r

w f3:将指定范围内的行另存到指定文件中

r f2:在指定位置插入指定文件中的所有内容

vim +/usera passwd  直接跳转至usera的行

:/^bin/,/^halt/y   复制以bin开头,以halt结尾的行

/word:从光标处向下查找

?word:从光标处向上查找

n:与命令同方向  N:与命令反方向

s/查找的内容/替换的内容/修饰符 :查找并替换

s/root/rooter/g

s/root/&er/g  同上,&表示引用前面查找到的内容

s/r..t/&er/g  简写,使用正则方式

s/r..t/user:&/g  正则

修饰符:i忽略大小写,g全局替换,gc全局替换,每次替换前询问

查找替换中的分隔符/可以替换为其他的字符,如#@+,方便替换路径,如:

[email protected]/[email protected]/[email protected] :将/etc替换为/var,全部替换

s#/boot#/#i :将/boot替换为/且忽略大小写

vi fstab

:%s/^#/*/  表示以#开头的行替换为以*开头

:1s/root/ROOT/g  替换第一行的root为ROOT

:1s/root/a&b/g

:%s/^#//  表示删除注释符#

:%s/^UUID/#&/

:%d  清空文件

:%[email protected]/dev/[email protected]/etc/[email protected]

命令模式:撤销更改

u:撤销最近的更改,3u撤销前3次

U:撤销此行的所有更改,条件为光标必须始终定位在此行,否则无效

ctrl+r:重做

.:重复一个操作

n.:重复前一个操作n次

录制宏:命令模式下

qa  //开始录制宏,名称为a

操作编辑。。。  //开始操作

q  //退出编辑操作

@a  //运行宏a

@@  //重复执行宏

vim的寄存器:

有26个命名的寄存器(a,b,c...z)和1个无命名的寄存器

名称寄存器格式:"寄存器名称。放在数字和命令之间,如3"tyy 表示复制3行到t寄存器中

未指定名称,则使用无命名寄存器:3yy 表示复制三行到无命名寄存器中

有10个数字寄存器(0-9)0为最近复制,1为最近删除的内容。变更1转存到2,2转存到3,以此类推,数字寄存器不能在不同会话间共享。

格式:数字"寄存器命令,5"bdd,未指定则使用无命名寄存器4"y

3yy:复制3行

3"ayy:复制3行到a寄存器

"ap:粘贴a寄存器的内容

编辑二进制文件步骤:

dd if=/dev/zero of=b1 bs=1 count=6

hexdump b1

hexdump -C b1

vim -b b1

:%!xxd  切换为可读的十六进制

进行编辑二进制文件

:%!xxd -r  重新转换回二进制

:wq  保存退出

可视模式:

v 面向字符

V 面向行

ctrl+v 面向块

可视化键可用于与移动键结合使用,w,),},箭头等

突出显示的文字可被删除,复制,变更,过滤,搜索和替换

多文件模式:

vim f1 f2 f3 ...

:next  下一个

:prev  前一个

:first  第一个

:last  最后一个

:wall  保存所有

:qall  退出所有

:wqall

多窗口:

vim -o f1 f2

o:水平分割,O:垂直分割

ctrl+w 窗口间切换

单文件窗口分割,重复打开当前文件,Windows下Ctrl+Tab切换,顺序为从上往下,从左往右。

:vs  左右

:sp  上下

Ctrl+ww  窗口切换,同Ctrl+Tab

Ctrl+wh  切换到左侧窗口,wl右侧窗口,wj向下,wk向上。hjkl左下上右

ctrl+w,s  水平分割,split

ctrl+w,v  垂直分割,vertical

ctrl+w,q  取消相邻窗口

ctrl+w,o  取消全部窗口

:wqall  退出

定制vim配置文件

全局/etc/vimrc,个人~/.vimrc

set [no]nu  行号

set [no]sm  括号成对匹配

set [no]ai  自动缩进

set [no]hlsearch  高亮搜索

set [no]ic  忽略字符大小写

syntax on[off]  语法高亮

set fileformat=dos  启用Windows格式

set fileformat=unix  启用unix格式

"设置文本宽度

:set textwidth=65

:set wrapmargin=15

:help option-list  查看所有选项列表

:set or :set all  查看所有set设置

:source %  使当前编辑的配置文件生效(可简写为:so %),编辑窗口不能关闭

vimtutor  命令行直接打开,可自由编辑,关闭后自动还原,用于练习vim命令

:e .  打开当前目录

:echo $MYVIMRC  显示vimrc配置文件的路径

:source $MYVIMRC

nmap ,ev :e $MYVIMRC<cr>  定义快捷键编辑vimrc

:tabedit $MYVIMRC  新开标签页

:tabclose  关闭当前标签页

nmap ,ev :tabedit $MYVIMRC<cr>  通过快捷键,ev在新标签打开vimrc配置文件

通过设置统一的快捷键首mapleader来实现组合多个功能操作

"--------------Mappings---------------"

let mapleader = ","

nmap <leader>ev :tabedit $MYVIMRC<cr>

nmap <leader><space> :nohlsearch<cr>

nmap <leader>w :w<CR>

"自动加载vimrc文件

augroup autosourcing

autocmd!

autocmd BufWritePost _vimrc source %  自动加载vimrc文件

augroup END

"窗口切换,ctrl+j向下,ctrl+k向上,ctrl+h向左,ctrl+l向右

nmap <c-j> <c-w><c-j>

nmap <c-k> <c-w><c-k>

nmap <c-h> <c-w><c-h>

nmap <c-l> <c-w><c-l>

"设置tab键为4个空格

set ts=4

set expandtab

set autoindent

时间: 2024-10-04 01:01:30

VIM编辑器1的相关文章

vim编辑器详解

一.vim简介 vi: Visual Interface,文本编辑器 文本: ASCII, Unicode 文本编辑种类: 行编辑器: sed 全屏编辑器: nano, vi vim – Vi Improved 其他编辑器: gedit 一个简单的图形编辑器 gvim 一个Vim编辑器的图形版本 二.常见使用方法: vim [OPTION]- FILE- 文件操作: 打开文件: +#: 打开文件后,直接让光标处于第#行的行首 +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹

vim编辑器讲解

--vim编辑器讲解(vim(vi的升级版),推荐vim) 打开文件(如果该文件不存在,则创建之后,保存,从内存写到硬盘上,不保存,则删除掉该文件) vim filename vim编辑器有3中模式:命令模式,插入模式,尾行模式. 命令模式:刚进入文件的时候开始的状态.u为撤销键 命令模式进入插入模式:可以通过快捷键 i(当前光标位置插入) I(本行的开头) a(当前光标位置之后) A(当前光标所在最后) o O 插入模式返回命令模式:ESC 插入模式:主要用来编辑文本的. 尾行模式:主要用来,

处理文本的工具sed,vim 编辑器的使用 &nbsp; Linux版

处理文本的工具sed Stream EDitor 行编辑器 sed一次处理一行的内容,处理时,将当前处理的行存储在临时缓冲区,称为"模式空间",接着用sed命令处理缓冲区中的内容,处理完成后,将缓冲区的内容送往屏幕,接着处理下一行不断重复,直到末尾. 一次处理一行 文件--->内存空间--->屏幕 模式空间 文件--->内存空间--->屏幕 | 保持空间 sed   -n:不输出模式空间内容的自动打印 -e:多点编辑 -f:/PATH/TO/SCRIPT_FIL

学习vi和vim编辑器(16):vim的多窗口功能(1)

vim默认是在一个窗口中编辑所有文件,在文件间移动或者移动到文件的不同部分时只显示一个缓冲区.但vim也提供了多窗口编辑功能,可以简化复合的编辑任务.这篇文章将学习如何在一个运行的vim进程里使用多窗口,包括多窗口编辑工作的初始化与启动,在窗口间移动光标,在显示区中移动窗口等. 启动多窗口编辑: 可以在打开vim时启动多窗口编辑,也可以在编辑会话中分割窗口. 从命令行(shell)启动多窗口: 默认情况下,vim为一个会话只打开一个窗口,即使打开时已经指定多个文件.如果想从命令行中打开多个窗口,

linux中vim编辑器各种常用命令及用法

linux中vim编辑器的常用命令以及用法(注意严格区分大小写以及中英文): vim编辑器有三种模式,分别是:编辑模式,输入模式以及末行模式. 模式转换: 编辑模式>>>输入模式: i:在光标所在字符前面,转为输入模式(即转完后在光标所在字符前输入):                      I:在光标所在行的行首,转为输入模式(即转完后在行首输入,不包括行首空                         白) a:在光标所在字符后,转为输入模式(即转完后在光标所在字符后面输入):

20_Shell语言———VIM编辑器基础知识三之窗口属性定制、配置文件及查找替换功能

Vim编辑器可以让用户按照需求来定制一些使用属性. 一.窗口属性定义 1)显示行号 行号不是内容,只是用来帮助用户确认文本所在的行.在vim编辑器中,如果要显示行号,可以在末行模式下输入: set number 如果想关闭,则可以在功能名称前面加上no,即: set nonumber 命令可以被简写,如set number 可以简写为 set nu:set nonumber 可以简写为 set nonu. 注意,上述设定仅对当前vim的进程有效,一旦当前进程关闭,这些设定就会失效,如果要使设定永

如何让vim编辑器永久显示行号

在Linux环境下的编辑器有vi.vim.gedit等等.进入这些编辑器之后,为了方便我们需要编辑器显示出当前的行号,可偏偏编辑器默认是不会显示行号的.我们有二种办法可以解决: 第一种是,手动显示:在vim命令行模式下输入  :set nu 取消显示:在vim命令行模式下输入:  set nonu 第二种是,永久自动显示:我们修改一个配置文件. 我们输入命令:vim   ~/.vimrc     (vim   /etc/vimrc ) 打开后是一个空文件,我们添加 set nu,保存退出,再次进

vim编辑器的常见使用功能

Vim是一个类似于vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 掌握简单的vim命令可以大大提高我们编辑文档效率,在装有vim编辑器的linux系统终端输入vimtutor,将会打开一份系统自带的vim编辑器的使用说明. 以下总结皆来自该文本内容,博主把小结部分摘取出来,方便平时查阅. 第一讲小结 1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键.         h (左移)       j (下行)       k (上行)   

上古神器--vim编辑器

上古神器,想必大家会联想到xx电视剧,上古神器不就是东皇钟.轩辕剑.盘古斧.炼妖壶.昊天塔.伏羲琴.神农鼎.崆峒印.昆仑镜.女娲石.那是电视剧的上古神器,IT君今天要讲的IT界的上古神器--vim编辑器. 对于一把神器来说,主角往往都是要付出一些努力才能收获到更加强大的力量才行,对于vim这种上古神器,IT君就不多说什么了. 一.vim的基本介绍 1.vim是从vi发展而来的,能实现代码补全.编译及错误跳转等方便的功能. 2.vim有模式之分,分别是一般指令模式.编辑模式和指令列命令模式. 一般

关于VIM编辑器

vim编辑器             vi 是一种文本编辑器,所谓文本数据是基于字符编码的文件,常见的编码有ASCII编码, UNICODE编码等 文本编辑种类分为:                行编辑器:所谓航编辑器就是至一行一行来编辑处理的工具,比如sed                全屏编辑器:编辑空间占据整个屏幕,比如 nano ,vi                 vim 就相当于vi的增强版,vim是模式化的编辑              vim 在工作过程中有三种模式: