VIM基本用法

vim基本用法

模式化编辑器

模式:

编辑模式: 命令模式

键盘操作常被理解为编辑命令

输入模式

末行模式: vim内置的命令接口,执行vim命令

打开文件

vim [option]... [file]...

模式转换:

编辑模式 --> 输入模式

i: 在光标所在处的前方转换为输入模式

a: 在光标所在处的后方转换为输入模式

o: 在光标所在行的下方新建一个空行并转换为输入模式

I: 行首

A: 行首

O: 光标所在行的上方新建一个空白行

输入模式 --> 编辑模式

Esc

编辑模式 --> 末行模式

:

末行模式 --> 编辑模式

ESC

退出文件:

:q! 不保存退出

:wq 保存退出

:x  保存退出

ZZ  不保存退出

编辑文本:

光标移动:

#{hjkl}: 跳#个字符

单词间移动:

w: 下一个单词词首

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

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

行内移动

^: 行首第一个非空白字符

0: 绝对行首

$: 绝对行尾

行间移动

#G: 直接跳至第#行

G:  最后一行

编辑命令:

x:  删除光标所在处的字符

d:  删除命令

结合光标跳转字符使用,删除光标跳转范围内的字符

dd: 删除光标所在行

D:  d$,删除光标以后的字符

注意: 最后一次删除的内容会被保存至缓存区

p: paste,粘贴

行级别:

p: 粘贴于当前行上方

P: 粘贴于当前行下方

小于行级别

p: 粘贴于当前光标所在行的后方

P: 粘贴于当前光标所在行的前方

y: yank,复制

结合光标跳转字符使用,复制光标跳转范围内的字符

Y: yy

c: change, 修改

结合光标跳转字符使用,修改跳转范围内的字符

先删除,再转换为输入模式

cc,C: 删除光标所在处的整行而后转换为输入

撤销操作:

u: undo,撤销

#u: 撤销最近的#次操作(50)

撤销此前的撤销: ctrl+r

重复前一条命令: .

末行模式:

行间跳转:

#: 指定行数

$: 最后一行

内容定界

startpos,endpos

#: 第#行

.: 当前行

$: 最后一行

%: 全文,相当于1,$

c,d,y等命令可以直接附加在地址范围后使用

w /path/to/somefile: 将选定范围内的内容保存至某文件中

r /path/from/sonmefile: 将指定的文件中的内容读取到指定位置

s/查找模式/要替换成的内容/gi

%s/echo/i/gi

查找模式:可以使用正则表达式

要替换成的内容: 不能使用模式,仅能使用引用

g: global,全行替换

i: 不区分大小写

引用匹配模式匹配到的所有内容可以用&

练习:

复制/etc/rc.d/init.d/functions至/tmp目录

替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

:%s#/etc/sysconfig/init#/var/log#gi

练习:

1. 复制/etc/grub.conf至tmp目录,删除/tmp/grub.conf文件中的行首的空白字符

:%s#^[[:space:]]\{1,\}##gi

2. 复制/etc/rc.d/rc.sysinit至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#号

:%s/^\([[:space:]]\+\)/#\1/gi

:%s/^[[:space:]]\+/#&/gi

3. 删除/tmp/rc.sysinit文件中以#号开头,且后面跟了至少一个空白字符的行的行首的#号和空白字符

:%[email protected]^#[[:space:]]\{1,\}@@

4. 为/tmp/grub.conf文件的前三行的行首家#号

:1,[email protected]^@#@

5. 将/etc/yum.repos.d/CentOS-Media.repo文件中的enable=0和gpgcheck=0两行最后的0改为1

%[email protected]\(enable\|gpgcheck\)[email protected]\[email protected]

vim可视化模式

v: 光标走过的字符

V: 光标走过的行

文本查找:

用法同less命令

/pattern

?pattern

翻屏:

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

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

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

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

j: 向下走一行

k:想上走一行

多文件模式:

:next  下一个文件

:previous  前一个文件

:last  最后一个文件

:first  第一个文件

:wqall  退出保存所有

多窗口模式:

多文件

-o: 水平分割两个窗口

-O: 垂直分割两个窗口

ctrl+w,arrow

单文件:

ctrl+w,s: 水平分割

ctrl+w,v: 垂直分割

窗口属性设定:

:set nu    显示行号

:set nonu    取消显示行号

:set ai    自动缩进

:set noai    取消自动缩进

:set ic    忽略字符大小写

:set sm    显示自动匹配括号

:syntax off    语法高亮关闭

配置文件:

全局: /etc/vimrc

用户: ~/.vimrc

时间: 2024-10-10 01:45:02

VIM基本用法的相关文章

vim高级用法多年经验原创总结(全部测试成功)

vim高级用法多年经验原创总结(全部测试成功) ==================================================================================一. Linux→命令模式:Vim filename1.一次移动一个光标h j k l左 下 上 右2.行内移动0 到行首(d0或d^删除至行首)$ 至行尾(d$删除至行尾)0=HOME 到行首$=end 至行尾G 到文件尾50G 到50行gg 到文件首3.有小d/大D都是剪切(del 

vim/vi用法总结

第一章:安装: 在命令行运行vim,如果找不到程序,需要自己安装. 1.1 下载 从官方网站ftp://ftp.vim.org/pub/vim/unix/中选择一个版本下载,我这里使用的是vim-7.3.tar.bz2. 1.2 解压程序: tar -xjvf vim-7.3.tar.bz2 在AIX环境中可能不支持这个命令.可以用Windows上的好压等软件解压后再传入到服务器中,这时一些程序的可执行权限可能被清除了.你需要手动添权限: cd vim73 #进入解压后的源代码目录. vim73

vim常用用法

vim和vi用法基本上一样,vim更强大一些,还有颜色标示.vim的使用,vim有三种模式分别是一般模式,编辑模式,命令模式. 一般模式:删除.复制和粘贴 x:向后删除 X:向前删除 nx:向后删除n个字符 dd:删除当行 D:删除当行字符 ndd:删除当前行向下的n行 yy:复制光标所在的行 p:将复制的数据粘贴在光标的下一行 P:将复制的数据粘贴在光标的上一行 编辑模式: i:在光标所在的位置插入字符 I:在光标所在的行第一个非空位置插入输入的字符 a:当前光标下一个位置输入字符 A:光标所

vim的用法,文件权限及查找工具

1.文本编辑工具vim的使用方法总结 2.文件查找命令find的使用方法总结 find命令用法详解: find [OPTION]... [查找路径] [查找条件] [处理动作] 查找路径:默认为当前路径: 查找条件:指定的查找标准,可以根据文件名.大小.属主属组.类型等进行:默认为找出指定路径下的所有文件: 处理动作:对符合条件的文件做什么操作:默认为输出至屏幕: 查找条件: 根据文件名进行查找: -name "文件名称",字串内可用通配符 如*, ?, []等 -iname &quo

sed 和 vim的用法

处理文本的工具 三剑客之 sed sed是一种流编辑器,它一次处理一行内容.处理时,把 当前处理的行存储在临时缓冲区中,称为"模式空间"( pattern space),接着用sed命令处理缓冲区中的内容 ,处理完成后,把缓冲区的内容送往屏幕.接着处理下一 行,这样不断重复,直到文件末尾.文件内容并没有改变 ,除非你使用重定向存储输出.Sed主要用来自动编辑一 个或多个文件,简化对文件的反复操作,编写转换程序等 sed 的 用法 sed [option]... 'script' inp

vim编辑器用法

Vim 在linux的世界中,绝大多数配置文件是以ASCII的纯文本形式存在,(什么是纯文本文件:其实文件记录的就是1或者0,而我们通过编码系统将这些0或者1转换成我们认识的文字就是了) 为何要学习vim? 1.所有的unix like系统都会内置vi文本编辑器,其他的文本编辑器不一定存在: 2.很多软件的编辑接口都会主动调用vim: 3.Vim具有程序编程能力,可以主动以字体颜色辨别语法的正确性,方便程序设计: 4.编程简单,编辑速度相当快速: Vim分为三种模式:一般模式:命令模式:编辑模式

VIM常见用法总结

欢迎和大家交流技术相关问题: 邮箱: [email protected] 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://github.com/jiangxincode 知乎地址: https://www.zhihu.com/people/jiangxinnju vim中光标如何回到上一次位置 ctrl + o vim如何删除某行至某行之间的内容? 删除3104至5403行之间的内容: :3104,5403d vim使光标始

vim的用法详解

vim的安装:dnf -y install vim(enhanced) vim 命令格式 vim [OPTION]... FILE... 常用选项: +#  打开文件后,让光标处于第#行的行首,+默认行尾 +/PATTERN   让光标处于第一个被PATTERN匹配到的行行首 -b file 二进制方式打开文件 -d file1 file2…  比较多个文件,相当于 vimdiff -m file  只读打开文件 -e file   直接进入ex模式,相当于执行ex  file 说明: 如果该文

vim简单用法

1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令行模式command mode) 控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode. 2) 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式. 3) 底行