跟着笨鸟学Linux-vim使用技巧


vim是linux最常用的文本编辑器,vim是vi的高级版,可能在有些linux发行版上只提供了vi命令,但是没关系,学会了vim,vi一样可以用

vim的模式与模式间的切换

vim的三种模式

编辑模式(vim打开后的默认模式)
输入模式
命令模式

模式转换

vi在打开时处在编辑模式

  • 编辑模式—>输入模式

    i:在光标所在处插入
    a:在光标所所在处后方插入
    o:在光标所在行下方打开一行插入
    I:在光标所在行行首插入
    A:在光标所在行行尾插入
    O:在光标所在行上方打开一行插入

  • 输入模式—>编辑模式

    按ESC键

  • 编辑模式—>末行模式

    输入:

  • 末行模式—>编辑模式

    按ESC键

vim关闭保存文件

zz 保存并退出
:wq 保存并退出
:w 保存文件
:w /路径 保存在指定路径下(原文件还在)
:q 退出文件(仅适用于未对文件做任何修改)
:q! 强制退出(修改过文件也可以退出,修改内容不保存)
:x 保存并退出

vim中光标的跳转(编辑模式下)

字符间跳转

键盘上h、j、k、l键
	k:上
h:左	l:右
	j:下

//可以在该操作前添加数字代表跳转到指定的行,如10j表示向后跳转10行

单词间跳转

w:后一个单词的词首
b:当前或前一个单词的词首
e:当前单词或者后一个单词的词尾
//可以在该操作前添加数字代表跳转到指定的单词,如10w表示向后跳转10个单词

行首行尾跳转

^:跳转至行首的第一个非空字符
0:跳转至行首
$:跳转至行尾

行间跳转

G:跳转至最后一行
#G:(#代表任意数字)跳转至#行
1G:类比上面跳转至第一行,也就是跳转至首行
gg:等同于1G,跳转至首行

翻屏操作

enter:向下翻一行
ctrl+f:向尾部翻一屏
ctrl+b:向首部翻一屏
crtl+d:向尾部翻半屏
ctrl+u:向首部翻半屏

vim的编辑命令(编辑模式下)

删除命令

x(小写):删除光标所在处的字符(往后删,相当于Delete键)
X(大写):删除光标所在处前面的字符(往前删,相当于Backspace键)
#x:删除光标所在处开始的#(代表数字)个字符

d:删除命令,删除后放在缓冲区,可以结合光标跳转命令实现范围删除

例:	
d$:删除光标至行尾
d^:删除光标至行首(非空字符)
d0:删除光标至行首
d10j:从光标行开始,再向下删10行(总共删了11行)
等等...........

替换命令

r:替换光标所在处单词,r后面要加需要替换的字符,如rt的意思就是将光标所在处的单词替换成t

复制命令

y:复制命令,复制后放在缓冲区中,使用方法可以参考d命令

例:	
y$:复制光标至行尾
y^:复制光标至行首(非空字符)
y0:复制光标至行首
y10j:从光标行开始,再向复制10行(总共复制了11行)
等等...............

粘贴命令

p(小写):缓冲区中的内容如果为整行,则粘贴在当前光标所在行的下方;否则,则粘贴至当前光标所在处的后方;
P(大写):缓冲区中的内容如果为整行,则粘贴在当前光标所在行的上方;否则,则粘贴至当前光标所在处的前方;

撤销操作

u:撤销此前的操作,一直按一直爽,默认可以撤销50次
crtl+r:撤销此前的撤销操作

重复操作

. :重复此前的操作,比如你之前输入了一个d1j,此次再按 . 键就是重复d1j的操作

vim的末行模式

查找功能

:/字符串 从光标位置开始向尾部查找能够被匹配的字符串
:?字符串 从光标位置开始向首部查找能够被匹配的字符串
//注:要想查看下一个被匹配的字符串怎么翻页?
按n键:下一个,与查找方向相同
按N键:上一个,与查找方向相反

查找并替换

固定格式:
s/要查找的内容/要替换的内容/修饰符

  • 要查找的内容:可以使用正则表达式
  • 要替换的内容:不能使用正则表达式,但可以引用正则表达式结果
  • 修饰符:
    i:忽略大小写
    g:全局替换,若一行中匹配到多次,则均替换(默认情况下若一行中匹配了多次,则只替换这行中的第一次)
  • 分割符:固定格式中写的是用“/”作为分隔符,但是假如遇到内容中也有这个字符则可以使用其他的分隔符,例如@、#、*等等。举例:s@a@b@g、s#a#b#g等

设定查找范围

%: 表示全文查找
#:(#表示数字)表示指定的行
#,#: 表示从#到#行
#,+#:表示从#开始,往下+#行
.:表示当前行
$:表示最后一行
.,$:表示从当前行到最后一行

vim的其他功能

vim打开多文件

vim file1 file2 file3
此时可以在末行模式下使用命令从三个文件内切换

:next  下一个
:prev  上一个
:first 第一个 
:last  最后一个 

退出文件可以使用以下命令

:wqall	保存所有文件并退出;
:wall	保存所有文件
:qall	退出所有文件

vim打开多窗口

vim [-o|-O] file1 file2 file3
-o:水平分割窗口
-O:垂直分割窗口

		在窗口间切换:Ctrl+w, ARROW
		
		注意:单个文件也可以分割为多个窗口进行查看:
			Ctrl+w, s:水平分割窗口
			Ctrl+w, v:垂直分割窗口	

vim -o
vim -O

vim特性配置

注意:在末行模式下的设定,仅对当前vim进程有效;
永久有效:
全局:/etc/vimrc
用户个人:~/.vimrc

	1、行号
		显示:set number, 简写为set nu
		取消显示:set nomber, set nonu
	2、括号匹配高亮
		匹配:set showmatch, set sm
		取消:set nosm
	3、自动缩进
		启用:set ai
		禁用:set noai
	4、高亮搜索
		启用:set  hlsearch
		禁用:set nohlsearch
	5、语法高亮
		启用:syntax on
		禁用:syntax off 
	6、忽略字符大小写
		启用:set ic
		禁用:set noic
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值